错误只有本页编号的写法
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<%# Container.ItemIndex+1 %>
</ItemTemplate>
</asp:TemplateColumn>
或在ItemDataBound事件中加
if (e.Item.ItemIndex > -1)
{
e.Item.Cells[0].Text = Convert.ToString(e.Item.ItemIndex + 1);
}
正确的如下(参考其它人的忘了地址保存文本)
前台
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<%# (this.Pager.CurrentPageIndex - 1) * this.Pager.PageSize + Container.ItemIndex+ 1%>
</ItemTemplate>
</asp:TemplateColumn>
后台
在ItemDataBound事件中加
if (e.Item.ItemIndex > -1)
{
e.Item.Cells[0].Text = Convert.ToString((this.Pager.CurrentPageIndex - 1) * this.Pager.PageSize + e.Item.ItemIndex + 1);
}
Datagrid自带分页的处理方法
前台
<asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<%# (DataGrid1.CurrentPageIndex - 1) * DataGrid1.PageSize+ Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
后台
在ItemDataBound事件中加
if (e.Item.ItemIndex > -1)
{
e.Item.Cells[0].Text = Convert.ToString((DataGrid1.CurrentPageIndex - 1) * DataGrid1.PageSize + e.Item.ItemIndex + 1);
}
这就OK了,前台,后台只用一个即可,Pager是用的分页控件,这种分页控件都是从1开始,所以要进行减一的操作,如果用 PagedDataSource ps = new PagedDataSource(); ps.CurrentPageIndex 就不用进行减一,因为他是从0开始相加的。