【发布时间】:2016-05-04 18:17:35
【问题描述】:
我有一个基于 Grid.MVC 的列表,它允许我创建一个可排序、可过滤、分页的列表。
问题是,我似乎无法在 Grid.MVC 的文档中找到任何内容,特别是输出已过滤内容的“计数”。我想您可能需要通过一些 jQuery 代码来提供客户端解决方案,但我希望可能有更简单的方法。
@using GridMvc.Html
@model IEnumerable<Sample.Cases>
@{
ViewBag.Title = "Case Browse List";
}
<h2>Case Browse List</h2>
<p>
@Html.ActionLink("Add New Participant", "Create")
</p>
<div>
@Html.Grid(Model).Columns(columns =>
{
columns.Add().Encoded(false).Sanitized(false).SetWidth(30).RenderValueAs(model => @<b>@Html.ActionLink("Select", "Details", new { id = model.ID })</b>);
columns.Add(model => model.ID).Titled("ID");
columns.Add(model => model.FirstName).Titled("First Name");
columns.Add(model => model.MiddleName).Titled("Middle Name");
columns.Add(model => model.LastName).Titled("LastName");
columns.Add(model => model.LKPSuffixes.SuffixDescription).Titled("Suffix");
columns.Add(model => model.LKPCaseStatuses.CaseStatusDescription).Titled("Case Status");
columns.Add(model => model.CaseStatusDate).Titled("Case Status Date");
}).WithPaging(10).Sortable(true).Filterable(true).WithMultipleFilters()
</div>
以上是我的观点,它很简单,但我基本上只需要在此网格下方的页脚说明我们总共有多少结果。这是可过滤和分页的,因此它应该获取所有记录的计数,而不仅仅是显示的 10 条记录 (.WithPaging(10)) 或不按列中的任何内容过滤的总数。
Grid.MVC 有一个非常像这样的示例项目: http://gridmvc.azurewebsites.net/?grid-page=3
编辑 - 理想情况下,页脚可能会显示“显示 57 个条目中的 1 到 10 个”之类的内容,或者如果这不可能,即使只是总条目也可以满足我们的要求。
在他们的 GitHub 中阅读其中的一些代码 - 显示的行数或总行数(过滤后)似乎有一些属性,所以我觉得必须有一些内置的方法来做到这一点,只是不确定如何。
https://github.com/leniel/Grid.Mvc/blob/master/GridMvc/IGrid.cs
【问题讨论】:
-
看看这个:asp.net/mvc/overview/getting-started/…。是一个很好的教程,展示了如何结合使用 PagedList.MVC 和 GridMvc。查看将分页添加到学生索引页面部分
标签: c# jquery asp.net-mvc asp.net-mvc-5 grid.mvc