我有一个 asp.net C# Web 应用程序。其中我有一个网格视图。 gridview 从数据库获取搜索结果。有时候结果很多,所以就想用分页的方式。这是我尝试过的:
protected void grdResults_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grdResults.PageIndex = e.NewPageIndex;
grdResults.DataBind();
}
由于某种原因,当我单击页码时,它会显示空数据文本(没有可显示的记录)。什么代码可以工作? 请帮忙。
谢谢你
尝试在 NeedDataSource 事件中分配数据源。
干杯。
在调用 DataBind() 之前,您需要将数据源重新分配给 grdResults。
试试这个代码,它绝对有效:
protected void GV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GV.PageIndex = e.NewPageIndex;
BindGrid();
}
public override void BindGrid()
{
query = new CommonQueries();
GV.DataSource = query.getAllBooks();
GV.DataBind();
}
您的代码的问题是您没有将数据源重新分配给您的gridview!