c#devexpress xtragrid LocateByValue不起作用

时间:2017-03-02 04:04:42

标签: c# devexpress xtragrid

使用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;
            };
        }

它们都不起作用。

我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:0)

LocateByValue对我很好。请检查第一个参数是否真的是FieldName。 可以肯定的是,我使用的是GridView.LocateByValue(colId.FieldName,value);

答案 1 :(得分:0)

在我的情况下,DataController.IsReady为false。 确保在加载数据后使用此功能。