此範例是示範如何在 GridView 加入一個自動編號的欄位,以標示該資料列的編號。

首先在 GridView 第一欄加入一個 TemplateField,並在 TemplateField 的 ItemTemplate 加入一個 Label (ID=lblNo),asxp 對應程式碼如下。

然後在 GridView 的 RowDataBound 事件中,設定每一列的 lblNo 的 Text 屬性值為 RowIndex+1。

因為 RowIndex 起始編號為 0 ,故每列的自動編號為 RowIndex+1。

以上的寫法遇到 GridView 分頁時,都是由 1 開始編號,若需分頁需要接續編號,可改用修改如下。

 

ASP.NET 魔法學院


DotBlogs Tags: GridView 序號

Feedback

  • alan 2008/5/24 上午 01:20 回覆

    # re: GridView 加入自動編號欄位

    asp:TemplateField HeaderText="序號">
    <ItemTemplate>
    <%#GridView1.PageIndex * GridView1.PageSize + GridView1.Rows.Count + 1%>
    </ItemTemplate>
    <ItemStyle Wrap="False" />
    <HeaderStyle Wrap="False" />
    </asp:TemplateField>
    Wrap=False表示不換行

  • 中国苦力 2008/10/15 下午 06:03 回覆

    # re: GridView 加入自動編號欄位

    <asp:TemplateField HeaderText="序号">
    <ItemTemplate>
    <%# (Container.DataItemIndex+1).ToString()%>
    </ItemTemplate>
    </asp:TemplateField>

  • jeff377 2008/10/15 下午 07:55 回覆

    # re: GridView 加入自動編號欄位

    to 中国苦力 :
    謝謝您提供不同的解決方法。

  • George 2009/1/7 下午 02:01 回覆

    # re: GridView 加入自動編號欄位

    留水號每頁從1編起
    <asp:TemplateField>
    <ItemTemplate>
    <#Container.DisplayIndex+1%>
    </ItemTemplate>
    </asp:TemplateField>
    留水號從第一筆編起
    <asp:TemplateField>
    <ItemTemplate>
    <#Container.DataItemIndex+1%>
    </ItemTemplate>
    </asp:TemplateField>

  • cong 2009/3/12 下午 04:22 回覆

    # re: GridView 加入自動編號欄位

    to George :
    最为精辟!感谢!

標題 *
名稱 *
Email (將不會被顯示)
Url
回應
登入後使用進階評論
Please add 8 and 2 and type the answer here: