• (1)Dev控件GridControl 的使用


    (1)Dev控件GridControl 的使用
    
    1、确认当前正在编辑的单元格的输入
    this.gridview1.CloseEditor();
    
    2、保存当前行的值到数据源
    this.gridview1.UpdateCurrentRow();
    
    3、通过数据适配器把修改更新到数据库
    sqlDataAdapter1.Update(myDataSet, "MyTable")
    //此时直接通过DataAdapter执行Update就可以
    
    按照1,2,3的步骤执行;也可以通过1,2步骤然后通过Sql实现
    
    (2)DataGrid的初始化
           gridView1.OptionsView.EnableAppearanceEvenRow = true;
          gridView1.OptionsView.EnableAppearanceOddRow = true;
          gridView1.OptionsView.ShowFilterPanel = false;
         gridView1.OptionsView.ShowGroupPanel = false;
    
    
       gridView1.OptionsView.ShowGroupPanel=false;
       gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
       gridView1.OptionsBehavior.Editable = false;
       gridView1.OptionsCustomization.AllowColumnMoving = false;
       gridView1.OptionsCustomization.AllowColumnResizing = false;
       gridView1.OptionsCustomization.AllowGroup = false;
       gridView1.OptionsCustomization.AllowFilter = false;
       gridView1.OptionsCustomization.AllowSort = true;
    
    (3)获取选中的行 和选中行的字段的内容
    
    int[] a = this.gridView1.GetSelectedRows(); //传递实体类过去 获取选中的行
    LAA.AssetGuid = this.gridView1.GetRowCellValue(a[0], "AssetGuid").ToString();//获取选中行的内容
    
    
    
    
    (4)以前在windows 自带的控件里面Button控件的相互调用是
    button1_Click(null,EventArgs.Empty); 
    Dev控件下面是
    simpleButton1_Click(new object(),new EventArgs());
    
    (5)在XtraGrid中如何验证单元格的值 
    我们在XtraGrid直接输入数据的情况下,如何验证每一个单元格输入的值是否正确呢?
    有两种方法来实现基于单元格的验证:
    1、使用RepositoryItem.Validating事件
    事件的"sender" 必须转换为BaseEdit类型,使用EditValue来获取当前输入的值并进行校验,如果校验不通过,把e.Cancel设置True。这种方法一般用来对内置控件的单元格进行数据验证
    2、使用 GridView.ValidatingEditor 事件
    事件的"sender"必须转换为GridView类型,当前列可以从GridView.FocusedColumn属性获得,值可以从e.Value获取,如果校验不通过,需要把e.Valid设置为False.。
    这种方法一般用于对整个Grid内的文本框进行数据验证
    在设置完事件之后需要写一个GridView.InvalidValueException 的事件委托:
    例如:
    
    
    private void gridView1_InvalidValueException(object sender, DevExpress.XtraGrid.Views.Base.InvalidValueExceptionEventArgs e) {
      e.ThrowException = false;
      e.WindowText = "The new value is invalid. Please correct it or press Esc to abandon your changes.";
      e.DisplayError = true;
    }
    
    (6)barManager的具体设置
    在增加了barManager控件以后,在[Click Here to add MainMenu] [Click Here to Tool Bar]里面选择[Click Here to Tool Bar] 填写需要新增的工具栏按钮。
    进入Designer 里面,选择ToolBars  ->Custom 1->OptionsBar 里面进行如下设置:
    AllowQuickCustomization=false
    DrawDragBorder=false
    RotateWhenVertical=false
    UseWholeRow=True
    以上4项进行初始化设置
    
    (7) 在DataGrid 里面增加状态栏
    首先在BarManager里面增加StaticText  把新增的barStaticItem 的AutoSize 设置为Spring
    然后,编写以下代码:
    
    
    private void StateCote()
            {
               
                if (gridView1.RowCount!=0)
                {
                    int a=this.gridView1.RowCount;
                    barStaticItem1.Caption="当前共有记录:"+a.ToString();
                    int[] b=this.gridView1.GetSelectedRows();
                    b[0]+=1;
                    barStaticItem2.Caption="当前选中:"+b[0].ToString();
                }
                else
                {
                    barStaticItem1.Caption="当前共有记录:";
                    barStaticItem2.Caption="当前选中:";
                }        
            }
    
            private void gridControl1_Click(object sender, System.EventArgs e)
            {
                StateCote();
            }
    
            private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
            {
                StateCote();
            }
    
    (8) DateTable 填充DataGrid
    这里需要引用:
    
    
    using DevExpress.Utils;
    
    
    
    /**//// <summary>
            /// 根据DataTable 填充DataGrid
            /// </summary>
            /// <param name="dt"></param>
            private void DisposeDataGrid(DataTable dt)
            {
                //标题居中
                gridView1.Appearance.HeaderPanel.TextOptions.HAlignment =HorzAlignment.Center;
                
                this.gridControl1.DataSource = dt;
                gridView1.Columns[0].Visible = false;//异常日志GUID
                gridView1.Columns[1].Visible = false;//通行编号
                gridView1.Columns[2].Visible = false;//通道编号
                
                gridView1.Columns[3].Caption = "通道名称";
                gridView1.Columns[3].Width = 100;
    
                gridView1.Columns[4].Caption = "卡号";
                gridView1.Columns[4].Width = 100;
    
                gridView1.Columns[5].Caption = "持卡人姓名";
                gridView1.Columns[5].Width = 60;
    
    
                gridView1.Columns[6].Caption = "主卡卡号";
                gridView1.Columns[6].Width = 100;
                
                gridView1.Columns[7].Caption = "主卡持卡人";
                gridView1.Columns[7].Width = 60; 
                
                gridView1.Columns[8].Caption = "通行时间";
                gridView1.Columns[8].Width = 100;
    
    
                gridView1.Columns[9].Caption = "车牌号码";
                gridView1.Columns[9].Width = 60;
                
                
                
                gridView1.Columns[10].Visible = false;//图象GUID
    
    
                gridView1.Columns[11].Caption = "异常描述";
                gridView1.Columns[11].Width = 100;
    
                gridView1.Columns[12].Caption = "处理结果";
                gridView1.Columns[12].Width = 100;
    
                gridView1.Columns[13].Visible = false;//ImageID
    
    
                //可以排序
                gridView1.OptionsCustomization.AllowSort=true;
            }
    其中有一列显示时间类型
    
                gridView1.Columns[3].Caption = "操作时间";
                gridView1.Columns[3].Width = 200;
                gridView1.Columns[3].UnboundType = DevExpress.Data.UnboundColumnType.DateTime;
                gridView1.Columns[3].DisplayFormat.FormatString = "F";
                gridView1.Columns[3].DisplayFormat.FormatType = FormatType.DateTime;
    
    (9) 双击DataGrid弹出详细信息
    private void gridControl1_DoubleClick(object sender, System.EventArgs e)
            {
                //双击弹出异常日志描述
                if (this.gridView1.RowCount > 0)
                {
                    int[] a=this.gridView1.GetSelectedRows();
                    string str_GUID=this.gridView1.GetRowCellValue(a[0],"Ex_No").ToString();//获得异常编号
                    MessageBox.Show(str_GUID);
                    frmExceptionLogDesc dlg=new frmExceptionLogDesc(); 
                    dlg.Text = "异常日志查看";
                    dlg.ShowDialog();
                }
            }
  • 相关阅读:
    jQuery 原理的模拟代码 0 目录
    非真实渲染技术(NPR)1.卡通渲染
    [翻译]延迟着色(1)
    Bloom原理
    bloom, Fake HDR, True HDR(转)
    [翻译]延迟着色(2)
    STL中map与hash_map容器的选择
    将文本转换成IDirect3DTexture9
    D3D中的AGP内存、系统内存、显存的理解
    如何加强角色渲染的真实感(self shadow + subsurface scattering + rim lighting)
  • 原文地址:https://www.cnblogs.com/hdl217/p/2044888.html
Copyright © 2020-2023  润新知