【问题标题】:Container.DisplayIndex not working with paging in ASP.NETContainer.DisplayIndex 不适用于 ASP.NET 中的分页
【发布时间】:2015-12-30 18:40:23
【问题描述】:

我有一个与后面代码中的数据绑定的网格视图。分页应用于gridview。一切正常。为了显示行索引,我使用Container.DisplayIndex

当我通过分页转到下一页时,每次 gridview 完美绑定但 DisplayIndex 从 1 开始到 pagesize。我不知道代码有什么问题。

这是 Asp.NET 代码:

<asp:GridView runat="server" ID="dlAddress" AutoGenerateColumns="false"  AllowPaging="True" OnPageIndexChanging="dlAddress_PageIndexChanging" >
<Columns>
        <asp:TemplateField>
                <ItemTemplate>
                        <asp:Label ID="lblRowNumber" Text='<%# Container.DisplayIndex + 1 %>' runat="server" />
                </ItemTemplate>
        </asp:TemplateField>
</Columns>
<PagerStyle HorizontalAlign="Center"/>
</asp:GridView>

C# 代码:

public void bindGridView()
{
        DBACon.Open();
        SqlCommand Cmd = new SqlCommand("getAddresses", DBACon);
        Cmd.CommandType = CommandType.StoredProcedure;
        SqlDataAdapter AHadp = new SqlDataAdapter(Cmd);
        AHadp.Fill(DS);
        dlAddress.DataSource = DS;
        dlAddress.DataBind();
}

protected void dlAddress_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
       dlAddress.PageIndex = e.NewPageIndex;
       bindGridView();
}

【问题讨论】:

  • 我为DataGrid 回答了类似的问题。看看它是否有帮助。我猜你只需要更改索引命名。 Sequence Numbering
  • 基本上您需要在绑定中考虑页面大小和当前索引。
  • 当我在第一页时,它会在 11 到 20 之后显示 1 到 10,依此类推,但目前每个页面都显示 1 到 10
  • GridView中它被称为PageIndex...CurrentPageIndexDataGrid,你只需要做映射,但想法是一样的。
  • 我认为您的标签的表达式应该是这样的:&lt;%# (dlAddress.PageSize * dlAddress.PageIndex) + Container.DisplayIndex + 1%&gt;

标签: c# asp.net .net gridview pagination


【解决方案1】:

这里,

ASPX:

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="5" AutoGenerateColumns="False" DataKeyNames="AddressID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:TemplateField HeaderText="RowNumber">
                <ItemTemplate>
                    <%# (GridView1.PageSize * GridView1.PageIndex) + Container.DisplayIndex + 1%>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-05
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    相关资源
    最近更新 更多