如何向GridView添加分页?

时间:2014-03-31 06:15:48

标签: c# asp.net gridview paging

如何向此GridView添加分页?

C#代码:

protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataBind();
}

错误

Specified argument was out of the range of valid values. Parameter name: index

4 个答案:

答案 0 :(得分:0)

您再次需要在页面索引更改事件中。在这里你没有写过。

请参阅the link

myGridView.DataSource = your datasource here;
myGridView.PageIndex = e.NewPageIndex;
myGridView.DataBind();

答案 1 :(得分:0)

允许分页非常简单。像

那样调用PageIndexChanging网格视图事件
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    GridView1.PageIndex = e.NewPageIndex;
    GridView1.DataSource = Your datasource here;
    GridView1.DataBind();
}

希望它对你有用..

答案 2 :(得分:0)

我认为我所做的是编写页面索引代码,然后在之后调用网格的actrual bind方法:

myGridView.PageIndex = e.NewPageIndex;
BindmyGridView();

其中

private void BindmyGridView()
{
myGridView.DataSource = lst; //where lst is the datasource
myGridView.DataBind();
}

你也看过这些链接:

Link 1

Link 2

答案 3 :(得分:0)

您需要使用可分页的数据源。最简单的方法是使用SqlDataSource。 另请注意,PageIndex从零开始。

如果你使用ListCollection等,它需要足够大,这是一个很好的浪费空间。基本上,如果您正在进行手动分页,并且使用List,那么您将必须创建与结果的完整记录数一样大的List,并且仅填写在适当的页面。不太实用,而且非常讨厌,但它很简单。

除了创建自己的可分页数据源之外,还有另一种更好的方法。您可以使用AllowCustomPaging属性指定您已经传递分页数据。只需将VirtualItemCount设置为记录计数,然后只传递DataSource中的一个页面并像往常一样调用DataBind。那应该做:))