【问题标题】:My DevExpress Grid not sort and filter data (MVC 4.0)我的 DevExpress Grid 不排序和过滤数据 (MVC 4.0)
【发布时间】:2013-09-02 17:18:16
【问题描述】:

我有一个带有 Devexpress GridView 的页面,我想在其中显示我的所有表格数据(使用实体框架)。

在加载的第一页上显示所有数据,但是我的 Devexpress GridView 不排序和过滤。 :(

下面是我的代码:

我的控制器

public class MenuController : Controller
    {
        private AcessoEntities db = new AcessoEntities();

        public ActionResult Index()
        {
            var menu = db.MENU.Include(m => m.MENU2);
            return View(menu.ToList());
        }
}

这是我的观点:

@Html.DevExpress().GridView(
        s =>
        {
            s.Name = "Lista";
            s.KeyFieldName = "Id";

            s.Settings.ShowFilterRow = true;

            s.Columns.Add("Nome");
            s.Columns.Add("MENU2.Nome", "Meu pai").SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
            s.Columns.Add("Ordem_Menu", "Ordem menu");

        }).BindToLINQ(string.Empty, string.Empty, (s, e) =>
        {
            var data = new Hoya.Extranet.Interface.Models.AcessoEntities();
            e.QueryableSource = data.MENU;
        }).GetHtml()

当我点击排序或过滤时,它只显示一个图像“正在加载”,没有任何反应......

有人可以帮我吗?

【问题讨论】:

  • 你的例子成功了吗?

标签: c# asp.net-mvc gridview devexpress


【解决方案1】:

您需要专门为该 GridView 创建一个局部视图,以便 Grid 可以回调以获取服务器数据。为此,您需要为该 GridView 提供一个 ActionResult。

请执行以下操作:

创建一个局部视图并将您的 GridView 代码放入其中。

您还需要使用类似(在您的 gridview 定义中)定义到该 GridView 的回调路由:

settings.CallbackRouteValues = new { Controller = "MenuController", Action = "YourPartialView" };

我个人的建议是,您应该使用 View Model 概念将数据传递给 PartialView。

你也可以在这里看到一个很好的例子:http://mvc.devexpress.com/GridView/Sorting

【讨论】:

    猜你喜欢
    • 2015-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多