1

我的控制器控制器中有这段代码:

List<TResult> list = db.GetBigData();
return PartialView("GridViewPartialView", list);

看法:

@Html.DevExpress().GridView(
    settings =>
    {
        settings.Name = "gvGrouping";
        settings.CallbackRouteValues = new { Controller = "Display", Action = "GridViewPartialView" };
        settings.SettingsBehavior.AllowSort = false;
        settings.Width = System.Web.UI.WebControls.Unit.Percentage(100);
        settings.SettingsPager.Visible = false;

//create many column
        settings.Settings.ShowGroupPanel = true;

        };
    }).Bind(Model).GetHtml()

在第一次运行时,控制器执行该GetBigData方法。视图显示,但所有节点都已折叠。如果我单击一个节点,它将回调到控制器,该控制器将再次创建对数据库的新查询。排序也会发生同样的事情。我不希望每次都有对数据库的请求,那么如何避免回调呢?

4

1 回答 1

3

GridView 是一个服务器端控件,它在服务器上执行所有数据计算,并且只向客户端发送一小部分。由于客户端没有所有可用的数据,因此无法在必要时对其进行重新排序或重新分组。它改为向服务器发送回调。

您所能做的就是加快回调速度。您应该做的第一件事是启用服务器模式,这将大大减少从数据库传输的数据量。以下是启用它的方法:http ://documentation.devexpress.com/#AspNet/CustomDocument3726

于 2012-07-05T13:30:29.033 回答