Devexpress gridview复选框列选择

本文关键字:选择 列选 复选框 gridview Devexpress | 更新日期: 2023-09-27 18:02:57

我想在gridview中设置复选框列。下面的代码是这样做的:

gridSettings.PreRender = (sender, e) =>
{
    MVCxGridView gridView = sender as MVCxGridView;
    for (int i = 0; i < gridView.VisibleRowCount; i++)
    {
        gridView.Selection.SetSelection(i, (bool)gridView.GetRowValues(i, "IsAssigned"));
    }
};

但是我有大约100万条记录,所以网格视图加载时间太长(超过2分钟)。因为devexpress,循环所有记录,逐页查找选定的行(我的集合是IQueryable类型)。如果我不尝试设置这个列,devexpress使用IQueryable list,所以它只获取一个页面的数据。

我怎么做才能只循环可见行?

Devexpress gridview复选框列选择

我改变了我的代码如下,我得到selectedrows与tempdata在控制器

gridSettings.PreRender = (sender, e) =>
{
    MVCxGridView gridView = sender as MVCxGridView;
    if ((gridView != null) && (ViewData["selectedRows"] != null))
    {
        int[] selectedRows = (int[])ViewData["selectedRows"];
        foreach (int key in selectedRows)
        {
             gridView.Selection.SelectRowByKey(key);
        }
    }
};