我现在在DataGrid中增加一列用于统计数据条数(页面自动生成的编号),现在我想实现分页的功能,要求下一页的编号接着上一页的编号。请问高手们如何实现啊?
例如:
第一页显示:1、2、3、4、5、6、7、8、9、10
第二页显示:11、12、13、14……另外一种设想就是不用分页,能不能控制显示和隐藏前多少项的数据来实现类似的功能!谢谢大家!

解决方案 »

  1.   

    <asp:DataGrid id="DataGrid1" runat="server">
    <Columns>
    <asp:BoundColumn></asp:BoundColumn>
    </Columns>
    </asp:DataGrid>*************************
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemIndex>-1)
    e.Item.Cells[0].Text = e.Item.DataSetIndex;
    }
      

  2.   

    谢谢Eddie005(♂) №.零零伍 (♂) 
    我就是这么做的,但是翻页后统计编号就又从1开始统计了,我想让统计编号接着上一页的编号,如何实现啊?
      

  3.   

    注意是e.Item.Cells[0].Text = e.Item.DataSetIndex;
    而不是e.Item.Cells[0].Text = e.Item.ItemIndex;
      

  4.   

    e.Item.Cells[0].Text = e.Item.DataSetIndex + DataGrid1.CurrentPageIndex * DataGrid1.PageSize;
      

  5.   

    谢谢Eddie005(♂) №.零零伍 (♂)  
    我先试试!
      

  6.   

    如果没有使用分页存储过程的话,上面的方法就可以了;如果使用了分页存储过程,也无妨,那就改为:
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
          if(e.Item.ItemIndex>-1)
    e.Item.Cells[0].Text = 当前页码*每页的行数+ e.Item.ItemIndex;
          //上面的“当前页码”和“每页的行数”,如果用了分页存储过程,这两个数据肯定是知道的
    }
      

  7.   

    在DataTable加一列编号,再分页不就行了