GridView に行番号をつける
FAQ のような記事ですが、 GridView に行番号を表示する方法について説明します。
SQL でデータを取得するときに付加する方法
SQL で行番号を追加するには、 ROW_NUMBER() を使用します。たとえば、以下のような SQL を記述します。 *1
SELECT ROW_NUMBER() OVER (ORDER BY ...) AS NUMBER , COLUMN1 , COLUMN2 -- ...
上記の SQL を実行すると返されるデータに行番号が付加されるため、後は GridView にデータバインドすれば完了です。
データの表示時に付加する方法
GridView にデータを表示するときに行番号を追加するには、以下のように記述します。 DataItemIndex プロパティを参照すると、 GridView でページングを有効にしても、適切な行番号を出力してくれます。
<asp:GridView ...> <!-- ... --> <asp:TemplateField HeaderText="#"> <ItemTemplate> <%# Container.DataItemIndex + 1 %> </ItemTemplate> </asp:TemplateField> <!-- ... --> </asp:GridView>
*1:SQL Server 2005 で可能です。詳細な文法はリファレンスを参照してください。