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
}
}