XtraGrid在匹配数据集上设置选择

时间:2013-07-12 13:55:03

标签: devexpress

我们希望基于与XtraGrid的datamember相同类型的List集合在XtraGrid上设置选择。

我们现在的做法是迭代gridview行。

private void SetSelectedRowsInternal(IList<StrongType> collecshung)
    {
        grdvSomeGrid.ClearSelection();
        grdvSomeGrid.BeginSelection();
        for (int i = 0;i < grdvSomeGrid.RowCount;i++)
        {
            StrongType _strongTyped = ((StrongType)grdvSomeGrid.GetRow(i));
            if (collecshung.Where(x => x.Id == _strongTyped.Id).Count() == 1)
                grdvSomeGrid.SelectRow(i);
        }
        grdvSomeGrid.EndSelection();
    }

有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

这取决于你填充网格的方式......你可以直接迭代BindingList(使用LINQ)。但是如果你发现它花费的时间超过了所需的时间,那么它应该是因为LINQ函数即使对于少量数据也会被击中超过100万次。

我建议您使用字典而不是LINQ ed集合。