使用Devexpress Xtragird并尝试按ItemID列查找行。
GridView activeView = this.DataGridSection.SectionGridControl.MainView as GridView;
第一种方式:
int rowHandle = activeView .LocateByValue("ItemID", 12345);
if(rowHandle != DevExpress.XtraGrid.GridControl.InvalidRowHandle)
activeView .FocusedRowHandle = rowHandle;
第二种方式:
for (int i = 0; i < activeView.DataRowCount; i++)
{
DataRow dr = activeView.GetDataRow(i);
if (Convert.ToInt32(dr["ItemID"]) == SelectedItemIDForEdit)
{
activeView.SelectRow(i);
break;
};
}
它们都不起作用。
我错过了什么吗?
感谢。
答案 0 :(得分:0)
LocateByValue对我很好。请检查第一个参数是否真的是FieldName。 可以肯定的是,我使用的是GridView.LocateByValue(colId.FieldName,value);
答案 1 :(得分:0)
在我的情况下,DataController.IsReady为false。 确保在加载数据后使用此功能。