在页面显示一个 DataGrid 的时候,常常需要显示一个序列,如图所示:

   

    同时根据 DataGrid 的过滤条件不同,需要也发生相应变化。

    我们除了可以在数据库中直接建立视图表示以外,还可以采用下面介绍的方法:

    solution 1:

首先,在<asp:datagrid>标签中加入:OnItemDataBound="DataGrid_ItemDataBound" ,并且在<Columns>中添加相应列,比如:<asp:BoundColumn HeaderText="序号"></asp:BoundColumn>

    然后在 CodeBehinde 中加入:

 

Sub DataGrid_ItemDataBound(ByVal sender As ObjectByVal e As DataGridItemEventArgs)
If e.Item.ItemType <> ListItemType.Header Then
          e.Item.Cells(
0).Text = (e.Item.ItemIndex + 1).ToString + ""
End If
End Sub

    注:e.Item.Cells(0)代表你要显示在第几列,本例是显示在第一列。


    solution 2:

    直接在<Columns>中添加:

 

<asp:TemplateColumn>
<ItemStyle Wrap="False"></ItemStyle>
<HeaderTemplate>序号</HeaderTemplate>
<ItemTemplate>
<%# Container.DataSetIndex + 1 %>
</ItemTemplate>
<EditItemTemplate>
<%# Container.DataSetIndex + 1 %>
</EditItemTemplate>
</asp:TemplateColumn>


    两种方法效果相同。现在我想请教各位高手,我想将该序列倒序排列,应该如何最简单的方法解决呢?谢谢。

posted on 2005-06-06 17:22  Miller  阅读(4885)  评论(2)    收藏  举报