列出<t>分页asp.net </t>

时间:2012-06-23 09:13:12

标签: entity-framework list gridview data-paging

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

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

有人请帮助我!!!谢谢

2 个答案:

答案 0 :(得分:0)

我的代码工作正常,使用List数据绑定的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>
    
  3. ...请注意我添加的新“PageSize”和“AutoGenerateColumns”属性。

    希望有所帮助。

答案 1 :(得分: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