0

使用三层架构,我有一个对象列表

 List<object> careerList = new List<object>();
            ModuleDTO module = new ModuleDTO();
            careerList = module.getDegreeCodeByQualification(qualificationCode);

然后我将其添加到 gridview 中,如下所示:

 gridViewMaster.DataSource = careerList;
            gridViewMaster.DataBind();

然后我想做的是在gridview上启用分页。到目前为止,我的网格视图是:

 <asp:GridView ID="gridViewMaster" runat="server" 
        AutoGenerateColumns="False" GridLines="None"
        BorderWidth="1px" CellPadding="2" DataKeyNames="Grouping" 
        ForeColor="Black"
            onrowdatabound="gridViewMaster_RowDataBound" CssClass="mGrid" PagerStyle-CssClass="pgr"  
AlternatingRowStyle-CssClass="alt" OnPageIndexChanging="gridView_PageIndexChanging" 
                AllowPaging="True" >

是否可以在列表上启用分页而不必将该列表更改为 Datatable 或 Dataview?如果有办法,这将有很大帮助。

到目前为止,我的活动如下:

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gridViewMaster.PageIndex = e.NewPageIndex;
        List<object> careerList = new List<object>();
            ModuleDTO module = new ModuleDTO();
            careerList = module.getDegreeCodeByQualification(qualificationCode);
            ModalProgress.Show();
            System.Threading.Thread.Sleep(1000);
            JobPanel.Visible = true;
            gridViewMaster.DataSource = careerList.Distinct();
            gridViewMaster.DataBind();
    }

有人请帮帮我!!!谢谢

4

2 回答 2

0

我有你的代码工作,从列表数据绑定的 GridView 分页。如果您在尝试以下检查后还有任何问题,请给我留言:

  1. 确保此代码返回具有名为“Grouping”的属性的项目列表,因为您已将其列为 GridView 中的 DataKeyName,如下所示:

    CareerList = module.getDegreeCodeByQualification(qualificationCode);

  2. 我的 GridView 代码如下所示:

        <asp:GridView ID="GridView1" runat="server" GridLines="None" BorderWidth="1px" CellPadding="2" DataKeyNames="Grouping" 
        ForeColor="Black" AllowPaging="True" 
        onpageindexchanging="GridView1_PageIndexChanging" AutoGenerateColumns="true" PageSize="2">
    </asp:GridView>
    

...请注意我添加的新“PageSize”和“AutoGenerateColumns”属性。

希望有帮助。

于 2012-06-23T13:23:26.413 回答
0

我修好了它!感觉像个白痴,但我绑定到了错误的gridview,但你的回答非常有帮助!非常感谢你。

这是我所做的,对于其他有同样问题的人:

<asp:GridView ID="GridQualifications" runat="server"
    CssClass="mGrid" PagerStyle-CssClass="pgr"  
AlternatingRowStyle-CssClass="alt" AutoGenerateColumns="false" 
    onselectedindexchanged="GridQualifications_SelectedIndexChanged" 
    AllowPaging="True" PageSize="2" OnPageIndexChanging="gridView_PageIndexChanging">
 <AlternatingRowStyle CssClass="alt" />

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        GridQualifications.PageIndex = e.NewPageIndex;
        BindData();
    }

我使用 List 作为我的数据源,以与任何人相同的方式绑定我的数据。

非常感谢您刚刚缓解的所有压力 :D :D

于 2012-06-24T14:17:53.397 回答