asp:BoundColumn 和asp:TemplateColumn

来源:互联网 发布:淘宝店代刷信誉 编辑:程序博客网 时间:2024/05/18 13:26
各位在使用DataGrid 时经常会自定义字段的显示,常用的是使用 asp:BoundColumn 和asp:TemplateColumn.

例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占用资源少、使用灵活