怎样能够在DataGrid中添加一个自动产生的序号列?
就是说在DataGrid的左边产生一个自动显示行号的列 问题点数:20、回复次数:8Top
1 楼liuvb(LHR)回复于 2005-05-31 15:33:42 得分 0
在DataGrid的columns添加一个
<asp:TemplateColumn HeaderText="序号" >
<ItemTemplate>
<asp:Label Text=<%# (++no).ToString()%> runat="server" ID="Label3"></asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
其中的no为后台cs(或者vb)类定义的一个变量
public int no=0;
这样就可以解决问题了Top
2 楼sniper81(菜鸟也是人)回复于 2005-05-31 16:41:24 得分 20
最简单的办法:
asp:TemplateColumn HeaderText="序号">
<ItemTemplate>
<%# Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
Top
3 楼littlekeen(keen)回复于 2005-05-31 17:10:06 得分 0
两种方法都可以,也就是显示的变量有差别。Top
4 楼yanam(神啊帮帮我吧)回复于 2005-05-31 17:30:59 得分 0
怎么才能显示所有的记录行号?
就是翻页以后,第二页的第1个行号不是从1开始,而是从上页的最后记录开始Top
5 楼javasion(狂—*…%¥)回复于 2005-05-31 19:25:41 得分 0
If e.Item.ItemIndex <> -1 Then
e.Item.Cells(0).Text = e.Item.ItemIndex + 1
End IfTop
6 楼fivehun2005(弱弱)回复于 2005-06-05 11:21:15 得分 0
是呀,翻页后又会重新计数?如何从连接计数呢?Top
7 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-06-05 13:20:41 得分 0
在窗体的上面申明个窗体变量
Dim ints As Integer
然后在itemdatabound事件中写
Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
If e.Item.ItemIndex <> -1 Then
e.Item.Cells(0).Text = ints + 1
ints = ints + 1
Else
ints = Convert.ToInt32(DataGrid1.CurrentPageIndex) * 3
End If
End SubTop
8 楼hackate(兰花开香入梦境,独思佳人亦飘然!!)回复于 2005-06-05 13:30:05 得分 0
Convert.ToInt32(DataGrid1.CurrentPageIndex) * 3
这里的3是每页显示的数据条目,你根据你每页显示多少条纪录自己更改Top




