1


我的要求是显示数据库中的所有国家,并且对于每个国家,我必须显示其各自的状态。
因此,为了显示我使用 DataList 的所有国家/地区。`DataLIst 的 OnItemDataBound 函数我已经绑定了 gridview 以显示其各自的状态。
现在,我想为数据列表中的那个内部网格视图提供分页。
我不知道如何处理数据列表中的 gridview 分页。

我将网格视图绑定为,

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

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

4

2 回答 2

2

如果您将 gridview 与 datalist 项中的一些输入参数绑定,那么您需要有一个标签来将其保存在 datalist 中。

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 绑定。

于 2013-07-15T07:48:30.867 回答
1

你可以试试这个,其中 gv 是 gridview,namingcontainer 是 datalist,它是父 datasettable 是要绑定的数据 clsCommon.GridViewPopulate 用于 biinging 网格我希望这有助于在 pageindexchange 属性中写入

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

    }
于 2013-07-15T07:44:10.720 回答