DataList中GridView的分页
本文关键字:分页 GridView DataList | 更新日期: 2023-09-27 18:22:31
我的要求是显示数据库中的所有国家,对于每个国家,我必须显示其各自的状态。
因此,为了显示我使用DataList的所有国家。"DataLIst"的OnItemDataBound函数我已经绑定了网格视图以显示其各自的状态。
现在,我想对数据列表中的内部网格视图进行分页。
我不知道如何处理数据列表中的网格视图分页。
我已将网格视图绑定为,
protected void dataListCountries_OnItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
HiddenField hdn = (HiddenField)e.Item.FindControl("hdnCountryID");
GridView grd = (GridView)e.Item.FindControl("grdDetails");
objCountries = new Countries();
lstCountries = objCountries.getallCountries();
grd.DataSource = lstCountries ;
grd.DataBind();
}
}
请你们中的任何一个人为我提供解决方案。提前谢谢。
如果要将gridview与数据列表项中的某个输入参数绑定,则需要有一个标签将其保存在数据列表中。
protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
GridView gv = (sender as GridView);
DataListItem DLItem= (DataListItem)gv.NamingContainer;
//Label Id = (Label)DLItem.FindControl("lblId");
gv.PageIndex = e.NewPageIndex;
//Your gridbinding code
HiddenField hdn = (HiddenField)DLItem.FindControl("hdnCountryID");
//GridView grd = (GridView)e.Item.FindControl("grdDetails");
objCountries = new Countries();
lstCountries = objCountries.getallCountries();
gv .DataSource = lstCountries ;//lstOrders;
gv .DataBind();
}
catch (Exception ex)
{
// return;
}
}
包含网格绑定代码。在这里,我认为您没有使用隐藏字段值来绑定网格。我认为你需要将网格与lstCountries绑定,而不是与lstOrders绑定。
你可以试试这个其中gv是gridview,namingcontainer是作为父级的数据列表datasettable是要绑定的数据clsCommon.GridViewPopulate for biinging grid我希望这是有益的写入页面索引更改属性
protected void gv_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
GridView grd= (sender as GridView);
GridViewRow gvrow = (GridViewRow)grd.NamingContainer;
objCountries = new Countries();
lstCountries = objCountries.getallCountries();
grd.DataSource = lstOrders;
grd.DataBind();
gv.PageIndex = e.NewPageIndex;
}
catch (Exception ex)
{
return;
}
}