显示Total Rows Grid.MVC列表

时间:2016-01-27 16:54:54

标签: c# jquery asp.net-mvc asp.net-mvc-5 grid.mvc

我有一个基于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

1 个答案:

答案 0 :(得分:5)

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

所以你可以设置像 -

这样的东西
.WithPaging(15).WithGridItemsCount("Total Orders")

这是输出 -

enter image description here