DevExpress GridControl使用方法总结

一、如何解决单击记录整行选中的问题

View->OptionsBehavior->EditorShowMode 设置为:Click

 

二、如何新增一条记录

(1)、gridView.AddNewRow()

(2)、DataTable dt = this.gridControl1.DataSource as DataTable;//直接对数据源添加
     dt.Rows.Add(dt.NewRow());

 

三、如何解决GridControl记录能获取而没有显示出来的问题

gridView.populateColumns();

 

四、如何让行只能选择而不能编辑(或编辑某一单元格)

(1)、View->OptionsBehavior->EditorShowMode 设置为:Click

(2)、View->OptionsBehavior->Editable 设置为:false

 

五、如何禁用GridControl中单击列弹出右键菜单

设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false

 

六、如何隐藏GridControl的GroupPanel表头

设置Run Design->OptionsView->ShowGroupPanel 设置为:false

 

七、如何显示水平滚动条?

设置this.gridView.OptionsView.ColumnAutoWidth = false;

 

八、如何定位到第一条数据/记录?

设置 this.gridView.MoveFirst()

 

九、如何定位到下一条数据/记录?

设置 this.gridView.MoveNext()

 

十、如何定位到最后一条数据/记录?

设置 this.gridView.MoveLast()

 

十一、设置成一次选择一行,并且不能被编辑

this.gridView1.FocusRectStyle = DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;

this.gridView1.OptionsBehavior.Editable = false;

this.gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;

 

十二、如何显示行号?

this.gridView1.IndicatorWidth = 40;

 //显示行的序号

private void gridView1_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)

 {

      if (e.Info.IsRowIndicator && e.RowHandle>=0)

      {

           e.Info.DisplayText = (e.RowHandle + 1).ToString();

      }

 }

十三、如何让各列头禁止移动?

设置gridView1.OptionsCustomization.AllowColumnMoving = false;

 

十四、如何让各列头禁止排序?

设置gridView1.OptionsCustomization.AllowSort = false;

 

十五、如何禁止各列头改变列宽?

设置gridView1.OptionsCustomization.AllowColumnResizing = false;

 

十六、得到当前选定记录某字段的值

sValue=Table.Rows[gridView1.FocusedRowHandle][FieldName].ToString();

 

十七、数据只读

gridView1.OptionsBehavior.Editable=false;

 

十八、修改最上面的GroupPanel内容

gridView1.GroupPanelText="柳生飘絮";

 

十九、设置数据源:

gridControl1.DataSource = dt;

绑定每一列的FiledName--属性

对于Oracle数据库,所有的在设计器里写的程序中的字段名必须大写,否则可能绑定不上字段,sqlserver没有这个限制.

 

二十、读写拷贝权限设置

 只读不可拷贝:

    ColumnViewOptionsBehavior.Editable = False

 

  只读可拷贝:

     ColumnViewOptionsBehavior.Editable = True

     OptionsColumn.AllowEdit = True

     OptionsColumn.ReadOnly = True

 

  可编辑:

     ColumnViewOptionsBehavior.Editable = True

     OptionsColumn.AllowEdit = True

     OptionsColumn.ReadOnly = False

 

二十一、设某一列文字和标题局中显示                

    gridView1.Columns[0].AppearanceHeader.TextOptions.HAlignment =DevExpress.Utils.HorzAlignment.Center;

    gridView1.Columns[0].AppearanceCell.TextOptions.HAlignment =DevExpress.Utils.HorzAlignment.Center;

 二十二、去掉某一列上面的自动筛选功能(Filter)                

    gridView1.Columns[0].OptionsFilter.AllowAutoFilter = false;

    gridView1.Columns[0].OptionsFilter.AllowFilter =false;              

    gridView1.Columns[0].OptionsFilter.ImmediateUpdateAutoFilter =false;

 

 二十三、设置冻结列(左冻结)

   gridView1.Columns[0].Fixed= DevExpress.XtraGrid.Columns.FixedStyle.Left;

  

 二十四、得到单元格数据(0行0列)

    string ss=gridView1.GetRowCellDisplayText(0,gridView1.Columns[0]);

    string ss = gridView1.GetRowCellValue(0, gridView1.Columns[0]);

 

 二十五、设置单元格数据(将0行0列的单元格赋值123)

    gridView1.SetRowCellValue(0, gridView1.Columns[0],"123");

 

 二十六、手动添加dev的列

  DevExpress.XtraGrid.Columns.GridColumn Col1=newDevExpress.XtraGrid.Columns.GridColumn ();

   Col1.FieldName="FID";

   Col1.Visible=true;

   Col1.VisibleIndex=gridView1.Columns.Count;

   gridView1.Columns.Add(Col1);

 

二十七、删除

     public static voiddatagridviewdel_Dev(DevExpress.XtraGrid.Views.Grid.GridView Mydgv)

     {

        if (MessageBox.Show("你确定要删除选中的记录吗?", "删除提示",MessageBoxButtons.YesNo,              MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2, 0, false) == DialogResult.Yes)

        {

            intiSelectRowCount = Mydgv.SelectedRowsCount;

            if(iSelectRowCount > 0)

            {

             Mydgv.DeleteSelectedRows();

            }

        }

     }

 二十八、检查数据的有效性

  在gridview的ValidateRow事件中加入检查代码:

  private void gridView1_ValidateRow(object sender, ValidateRowEventArgse)

   {

   GridView view = sender as GridView;

   view.ClearColumnErrors();

 

  if (view.GetRowCellValue(e.RowHandle, "ReceiveDate") ==DBNull.Value)

   {

   e.Valid = false;

   view.SetColumnError(view.Columns["ReceiveDate"], "必须指定日期");

   }

 

  }

  调用gridview.UpdateCurrentRow()方法执行检查

 
转载:http://www.cnblogs.com/zeroone/p/3525423.html
posted @ 2015-11-08 20:01  高空燕子飞过  阅读(571)  评论(0编辑  收藏  举报