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();
    }
}

请你们中的任何一个人为我提供解决方案。提前谢谢。

DataList中GridView的分页

如果要将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;
        }
    }