摘要
在「GridView 加入自动编号字段」一文有提到如何在 GridView 中利用 TemplateField 来加入自动编号;本文将改用另一种方式,利用继承 DataControlField 来撰写自动编号字段,若 GridView 需要自动编号字段时只需加入字段即可。

TBSerialNumberField 字段
继承 DataControlField 命名为 TBSerialNumberField,覆写 InitializeCell 方法,判断 CellType = DataControlCellType.DataCell 时就执行 InitializeDataCell 方法来产生自动编号。

GridView 自动编号字段 - TBSerialNumberFieldImports System.Web.UI.WebControls
GridView 自动编号字段 - TBSerialNumberField
End Namespace

测试程序
当 GridView 需要有自动编号字段时,只有加入 TBSerialNumberField  即可。

GridView 自动编号字段 - TBSerialNumberField            <Columns>
GridView 自动编号字段 - TBSerialNumberField                
<bee:TBSerialNumberField  HeaderText="No"></bee:TBSerialNumberField>
GridView 自动编号字段 - TBSerialNumberField                
<asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
GridView 自动编号字段 - TBSerialNumberField                
<asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
GridView 自动编号字段 - TBSerialNumberField                
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
GridView 自动编号字段 - TBSerialNumberField                
<asp:BoundField DataField="EmployeeID" HeaderText="EmployeeID" InsertVisible="False"
GridView 自动编号字段 - TBSerialNumberField                    ReadOnly
="True" SortExpression="EmployeeID" />
GridView 自动编号字段 - TBSerialNumberField            
</Columns>

执行结果如下

GridView 自动编号字段 - TBSerialNumberField

GridView 自动编号字段 - TBSerialNumberField

相关文章: