我正在尝试使用以下代码选择我的gridView的所有行(在WinForms窗口的构造函数中):
gridControl1.DataSource = myObj;
gridControl1.ForceInitialize();
for (int i = 0; i < gridView1.DataRowCount; i++)
{
if (((MyClass)gridView1.GetRow(i)).MyProperty)
gridView1.SelectRow(i);
}
在debug中,我检查gridView1.IsRowSelected()
为所有行返回true(加载表单后)。但是,它不会显示(不选中复选框)。我究竟做错了什么?我尝试在表单加载时执行此代码,但它没有帮助。
答案 0 :(得分:1)
ColumnViewOptionsSelection.MultiSelect 属性设置为true。
try
{
gridView1.BeginUpdate();
for (int i = 0; i < gridView1.DataRowCount; i++)
{
var rowhandle = gridView1.GetRowHandle(i);
if (((MyClass)gridView1.GetRow(rowhandle)).MyProperty)
gridView1.SelectRow(rowhandle);
}
}
finally
{
gridView1.EndUpdate();
}
DataRowIndex和Rowhandle在devexpress中有所不同。