我的DevExpress网格没有对数据进行排序和过滤(MVC 4.0)
本文关键字:过滤 MVC 排序 网格 DevExpress 数据 我的 | 更新日期: 2023-09-27 18:29:52
我有一个带有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()
当我点击排序或过滤时,它只显示一个图像"正在加载",什么也没发生。。。
有人能帮我吗?
您需要专门为该GridView创建一个局部视图,以便网格可以回调以获取服务器数据。为此,您需要有一个GridView的ActionResult。
因此,请执行以下操作:
创建一个局部视图并将GridView代码放入其中。
您还需要定义一个到GridView的回调路由,使用类似的东西(在您的GridView定义中):
settings.CallbackRouteValues = new { Controller = "MenuController", Action = "YourPartialView" };
我个人的建议是,应该使用视图模型概念将数据传递给PartialView。
你也可以在这里看到一个很好的例子:http://mvc.devexpress.com/GridView/Sorting