DevExpress GridControl的使用

1.DevExpress控件组中的GridControl控件不能使横向滚动条有效。现象:控件中的好多列都挤在一起列宽都变的很小,根本无法正常浏览控件单元格中的内容。

解决:

gridView1.OptionsView.ColumnAutoWidth属性是true,即各列的宽度自动调整,你把它设成false,就会出现了。

2.使单元格不可编辑。

gridcontrol-->gridview -->OptionsBehavior -->Editable=false

3.获取选定行,指定列单元格的内容

int[] a = gridView1.GetSelectedRows();
string strMSID = Convert.ToString(gridView1.GetRowCellValue(a[0], "印章编号"));

4.去除"Drag a Column Header Here To Group by that Column"

属性Gridview->Option View->Show GroupPanel=false

5.多选

GridControl->GridView->属性->OptinosSelecttion->MultiSelect

多选时获取选择行的某字段值(按住shift键,并选择多行)

6.显示行号列

Gridview  的CustomDrawRowIndicator方法

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

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

调整行号列的宽度:gridview>>indicatorwidth属性:30

7.内容清空

Gridview.columns.clear();

8.显示列内容转换

CustomColumnDisplayText函数

if (e.Column==this.gvUser.Columns["用户角色"])

//或者if(e.Column.FieldName=="用户角色")

            {

                DataRow row = gvUser.GetDataRow(e.RowHandle);

                string value=row["用户角色"].ToString();

                if (value == "1")

                {

                    e.DisplayText ="管理员";

                }

                else

                    e.DisplayText ="操作员";

            }

        }

9.给GridControl添加按钮列 (在已有数据上)

首先看绑定的datatable,给gridcontrol 添加相同名称的列,然后再添加一列按钮列,
   把列的ColumnEdit属性设置为RepositoryItemButtonEdit
   把TextEditStyle属性设置为HideTextEditor;
   把Buttons的Kind属性设置为Glyph; 把Button的Caption用于设置文字
   把Buttons的HorzAlignment属性设置为Near;
   如果要用到事件的话,还要注册事件。。。
   列名.ButtonClick += newButtonPressedEventHandler(列名_ButtonClick);

按钮需要响应点击的话还需要设置

在GridControl的设计器中Repository页中的In-place EditorRepository项中
在右边的Repository栏中找到你的ButtonEdit,选它的事件属性页,ButtonClick

同时需要注意的是: 有时注册了单击事件 但是没反应,是因为设置了Editable 的属性为False!

10.单元格中内容显示在单元格左侧

private void textAligmentLeft(DevExpress.XtraGrid.Views.Grid.GridView gv)

        {

            inttextalign = gv.Columns.Count -1;

            while (textalign >= 0)

            {

                gv.Columns[textalign].AppearanceCell.TextOptions.HAlignment= HorzAlignment.Near;

                textalign--;

            }

        }

11.添加combox列

  DataColumnclCheck = newDataColumn("选择");

clCheck.DataType = System.Type.GetType("System.Boolean");

dt1.Columns.Add(clCheck);

gridcontrol.DataSource = dt1;


选中的列

for (int i= 0; i < gridView1.RowCount; i++)

                {

                    value = gridView1.GetDataRow(i)["选择"].ToString();

                    if (value=="True")

                    {

                        XXXxxxxx

                    }

                }

原文地址:https://www.cnblogs.com/suncarry/p/2514702.html