显示总行数 Grid.MVC 列表的最佳方式

Best way to show Total Rows Grid.MVC List

我有一个基于 Grid.MVC 的列表,它允许我创建一个可排序、可过滤、分页的列表。

问题是,我似乎无法在 Grid.MVC 的文档中找到任何内容,尤其是要输出已过滤内容的 "count"。我认为您可能需要通过一些 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

编辑 - 理想情况下,页脚可能会说 "Showing 1 to 10 of 57 entries" 之类的内容,或者如果这不可能,即使只是总条目也能满足我们的要求。

阅读他们 GitHub 中的一些代码 - 似乎有一些属性用于显示的行数或总行数(过滤后),所以我觉得必须有一些内置的方法来这样做,只是不知道怎么做。

https://github.com/leniel/Grid.Mvc/blob/master/GridMvc/IGrid.cs

有一个选项 .WithGridItemsCount(string gridItemsName) 可让您显示总计数。

所以你可以设置类似 -

.WithPaging(15).WithGridItemsCount("Total Orders")

这是输出 -