1

我们希望基于与 XtraGrid 的数据成员相同类型的 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();
    }

有一个更好的方法吗?

4

1 回答 1

2

这取决于您如何填充网格......您可以直接迭代BindingList例如(使用LINQ)。但是如果你发现它花费的时间比需要的多,那应该是因为LINQ即使是少量数据,函数也可以被点击超过 100 万次。

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

于 2013-07-12T15:49:15.807 回答