您的位置:首页 > 编程语言 > ASP

asp.net学习之GridView七种字段

2009-10-17 20:30 183 查看
asp.net中GridView绑定到数据源时,可以自动显示数据源的各个字段。只要设定其AutoGenerateColumns为TRUE即可。但这,自动显示有其不好的一面,因为不能自义定控制显示的样式。
解决以上的办法就是指定需要GridView显示的字段,GridView控件支持以下七种类型的Field:
● BoundField : 将数据项显示为文本
● CheckBoxField : 将数据项显示为复选框
● CommandField : 使用链接来支持编辑、删除或选中行
● ButtonField : 将数据项显示为按钮(ImageButton、LinkButton、Button)
● HyperLinkField : 将数据项显示为超链接
● ImageField : 将数据项显示为图片
● TemplateField: 自定义数据项的外观
以上,各Field的父类都为DataControlFiled.所以,下面先谈谈DataControlField。

1. DataControlField

DataControlField 类用作所有数据控件字段类型的基类。数据绑定控件使用数据控件字段表示数据字段。
DataControlField定义了一些共公的属性,其子Field都可以使用。
● HeaderText/HeaderImageUrl : 标题栏字段/标题栏的图像URL
● FooterText : 脚注项的文本
● AccessibleHeaderText : 一个字符串,表示由屏幕阅读器读取的缩写文本。
● Control: 获取对Field内数据控件的引用
● InsertVisible: 插入新记录时,此列是否可见。(不能在GridView控件中使用)
● HeaderStyle/FooterStyle/ItemStyle/ControlStyle : 标题项/脚注项/数据项/子WEB控件的样式
● SortExpression : 为数据项指定排序表达式

2. 使用BoundField

GridView在显示状态,BoundField总是直接把数据项显示为文本;在编辑状态,BoundFiled将数据项显示为一个单行的文本框
2.1 BoundField几个种要属性
除了其父类DataControlField的几个属性外,还有以下几个属性
● DataField : 显示的字段
● DataFormatString : 字段格式化
● HtmlEncode / HtmlEncodeFormatString: 获取或设置一个值,该值指示在 BoundField 对象中显示字段值之前,是否对这些字段值进行 HTML 编码。
注: FormatString经常用来格式化数字、日期、字符串、自定义类型。
关于字符格式化,参见以下MSDN:http://msdn.microsoft.com/zh-cn/library/26etazsy.aspx
或:/article/5116997.html
例1:使用GridView绑定字段

<asp:GridView id=”grdMovies”   DataSourceID=”srcMovies” DataKeyNames=”Id”
AutoGenerateColumns=”false” AutoGenerateEditButton=”true” Runat=”server”>
<Columns>
<asp:TemplateField HeaderText=”Title”>  <!-- Title 列-->
<ItemTemplate> <%# Eval(“Title”) %> </ItemTemplate> <!-- 注意,是用Eval绑定字绑,而没有BoundField属性了 -->
<EditItemTemplate>  <!-- 编辑时显示的模板 -->
<asp:TextBox id=”txtTitle” Text='<%# Bind(“Title”) %>' Runat=”server” /> <!-- 使用Bind,双向绑定 -->
<-- 编辑时对txtTitle进行验证 -->
<asp:RequiredFieldValidator id=”valTitle” ControlToValidate=”txtTitle” Text=”(required)” Runat=”server” />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=”Category”>  <!-- Category列 -->
<ItemTemplate> <%# Eval(“Name”) %> </ItemTemplate>
<EditItemTemplate>
<asp:DropDownList id=”ddlCategory” DataSourceID=”srcMovieCategories” DataTextField=”Name”
DataValueField=”Id” SelectedValue='<%# Bind(“CategoryId”) %>' Runat=”server” />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: