例1:用 asp:BoundColumn
<asp:BoundColumn DataField="name" HeaderText="姓名">
</asp:BoundColumn>
例2:用 asp:TemplateColumn.
<asp:TemplateColumn HeaderText="姓名">
<ItemTemplate>
<span>
<%# Container.DataItem("name") %>
</span>
</ItemTemplate>
</asp:TemplateColumn>
以上的例子都可以实现,但是他们有很大的区别:
使用 DataGrid 控件中的 BoundColumn 列类型来以单列显示数据源中字段的内容。字段被链接到 BoundColumn,所以数据源中的任何更新将反映在 DataGrid 控件的相应单元格中。
该列类型不与模板相对应。使用 DataGrid 控件的样式属性来管理列的外观。
而使用 DataGrid 控件中的 TemplateColumn 列类型创建具有自定义控件布局的列。通过使用 HeaderTemplate、FooterTemplate 和 ItemTemplate 属性,可以分别为列的标题节、页脚节和项节提供自定义外观。通过设置 EditItemTemplate 属性,还可以控制所编辑的项在 TemplateColumn 中的显示方式。
特别是TemplateColumn在使用选择一行时在
myDataGrid.SelectedItem.Cells(i).Text
中是无数据的,但TemplateColumn 比BoundColumn占用资源少、使用灵活。