【问题标题】:List<T> paging asp.netList<T> 分页 asp.net
【发布时间】:2012-06-25 11:09:50
【问题描述】:

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

 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" >

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

目前我的活动如下:

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

有人请帮助我!!!谢谢

【问题讨论】:

标签: entity-framework list gridview data-paging


【解决方案1】:

我修好了!感觉像个白痴,但我绑定到了错误的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();
    }

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

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

【讨论】:

  • 很好:)。我发现,耐心地使用 Visual Studio 调试工具逐步调试代码,10 次中有 9 次会给出答案。
【解决方案2】:

我的代码工作正常,GridView 从 List 数据绑定中分页。如果您在尝试以下检查后还有其他问题,请给我留言:

  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”属性。

希望对您有所帮助。

【讨论】:

  • 谢谢!我不再收到任何编译器错误。我现在唯一的问题是,当我更改索引时,它会更改实际索引,但不会更新我的 gridview。我认为这是因为我从头开始重新加载数据,而不是从下一个索引。你会建议我做什么?再次,非常感谢您!
猜你喜欢
  • 2018-01-11
  • 2010-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-08-16
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多