如何进行自定义过滤和自定义分页

时间:2014-11-10 05:56:29

标签: asp.net-mvc pagination grid filtering

我没有使用Entity框架,我创建了自定义数据访问层。 我想做自定义过滤和自定义分页。

grid.mvc支持自定义分页和自定义过滤吗? 我检查了http://gridmvc.codeplex.com/documentation文档,但找不到如何操作。

我试过了

EnablePaging = true;
Pager.PageSize = 10;

但它会对已经分页的数据进行分页。

如果有人这样做了,请建议如何做到。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我还没有使用grid.mvc,但您可以使用LINQ对.NET中几乎任何序列进行分页和过滤。

var items = new List<string>();

// Add 10 items for testing
for (int i = 0; i < 10; i++)
{
    items.Add("item" + i.ToString());
}

var pagedAndFilteredItems = items
    .Where(x => x != "item0") // Filter the first item from the sequence
    .Skip(3) // Number of items to skip over
    .Take(3) // Number of items to put into the current view.
    .ToList(); // Executes the query

// pagedAndFilteredItems now contains
// "item4"
// "item5"
// "item6"
// Which corresponds to the second page if your page size is 3

然后,您可以一次只向grid.mvc提供1页。您可能必须构建自己的下一个和后一个链接,但如果您从外部源提取数据,则这比将整个数据集提供给网格要灵活得多。

当然,另一种选择是在LINQ中进行过滤,如Where子句所示,然后让grid.mvc进行分页。