最近用到DevExpress控件的GridControl控件,需要用到行多选的操作,在网上找的资料,自己总结一下。
先展示一下效果:
1:设置GridControl控件允许选择多行
Run Designer ->Options->OptionsSelection->MultiSelect=true
2:在行头增加多选框,控制行多选
Run Designer ->Options->OptionsSelection->MutiSelectMode=CheckBoxRowSelect
3:禁用EnableAppearanceFocusedCell属性
Run Designer ->Options->OptionsSelection->EnableAppearanceFocusedCell=False
这个属性没用之前是这个样子,选中的单元格把行的背景色覆盖了,为了美观就把EnableAppearanceFocusedCell属性禁用了
这样就实现了行多选操作
4:后台数据的获取
KObject provideApplication = new KObject();//部门内部封装的数据类型
int[] rows = this.gridView1.GetSelectedRows();//先获取选择行的行号
DataTable dt = this.gridControl1.DataSource as DataTable;//得到GridControl的数据源
foreach (int item in rows)
{
KObject obj = new KObject();
for (int j = 0; j < dt.Columns.Count; j++)
{
obj.SetValue(dt.Columns[j].ColumnName, dt.Rows[item][j].ToString());
}
obj.Name = item + "";
provideApplication.AddChild(obj);
}
这段代码的意思就是通过选择数据源的行号,得到选中的数据。