支持的功能
绑定至数据源,如SqlDataSource、ObjectDataSource或者是LinqDataSource控件
内置的排序功能
内置了更新和删除记录的功能
内置数据分页功能
内置行选择功能
提供以编程方式访问GridView对象模型,动态设置属性、处理事件等
可以指定多个键字段
提供用于超链接列的多个数据字段
可以通过主题和样式进行自定义的外观
2、列类型
BoundField:显示数据源某个字段的值。GridView控件的默认列类型
ButtonField:为GridField控件的每个项显示一个命令按钮。这样可以创建一系列自定义按钮控件,如“添加”或“移除”按钮
CheckBoxField:为GridView控件的每一项显示一个复选框。此列的字段类型通常用于显示具有布尔值的字段
CommandField:显示用来执行选择、编辑或删除操作的预定义命令按钮
HyperLinkField:将数据源中某个字段的值显示为超链接。此列字段类型可以将另一个字段绑定到超链接的URL上
ImageField:为GridView控件中的每一项显示一个图像
TemplateField:根据指定的模板为GridView控件中的每一项显示用户定义的内容。此列字段类型使开发人员可以创建自定义的列字段
3、BoundField字段的属性
DataField:指定列将要绑定的字段的名称,如果是数据表则为数据表的字段,如果是对象,则为该对象的属性
DataFormatString:用于格式化DataField显示的格式化字符串,例如如果需要为UnitPrice指定四位小数,则可以为该列指定{0:F4}
ApplyFormatInEditMode:是否将格式应用到编辑模式,默认值是false
HeaderText、FooterText和HeaderImageUrl:前两个属性用于设置列头和列尾区显示的文本。HeaderText属性通常用于显示列名称。列尾可以显示一些统计信息
ReadOnly:列是否只读,默认情况下,主键字段将会是只读,只读字段不会进入插入会编辑模式
InsertVisible:列是否能进入编辑模式,该属性在运行时通过编程控制哪些列可以进行插入,非常有用
Visible:列是否可见。如果设置为false则不会产生任何HTML输出
SortExpression:指定一个用于排序的表达式
HtmlEncode:默认值为true,指定是否对显示的文本进行HTML编码
NullDisplayText:当值为空值时,将显示的文本
ConvertEmptyStringToNull:如果设置为true,当提交编辑时,所有的空字符将被转换为null值
ControlStyle、HeaderStyle、FooterStyle和ItemStyle:用于设置列的呈现样式
4、GridView控件事件
控件呈现事件
DataBinding:GridView控件绑定到数据源时立即触发
DataBound:GridView控件已经绑定到数据源后触发
RowCreated:当GridView中的行被创建后触发该事件
RowDataBound:当GridView中的每行绑定到数据后触发
编辑记录事件
RowCommand:当单击GridView控件内的按钮时触发
RowUpdating:在GridView更新记录前触发
RowUpdated:在GridView更新记录后触发
RowDeleting:在GridView删除一条记录前触发
RowDeleted:在GridView删除一条记录后触发
RowCancelingEdit:取消更新记录时触发
选择、排序分页事件
PageIndexChanging:在当前页被改变之前触发
PageIndexChanged:在当前页被改变之后触发
Sorting:在排序之前触发
Sorted:在排序之后触发
SelectedIndexChanging:在行被选择之前触发
SelectedIndexChanged:在行被选择之后触发
5、
View Code
1 <asp:ListView ID="ListView2" runat="server" DataSourceID="SqlDataSource1">
2 <LayoutTemplate>
3 <fieldset runat="server">
4 <legend runat="server">产品列表</legend>
5 <asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
6 </fieldset>
7 </LayoutTemplate>
8 <ItemSeparatorTemplate>
9 <hr />
10 </ItemSeparatorTemplate>
11 <ItemTemplate>
12 <div id="item">
13 <h6>产品名称:<%#Eval("ProductName") %>(产品分类编码:<%#Eval("CategoryID") %>)</h6>
14 产品单价: <%#Eval("UnitPrice","{0:c}") %>
15 单位数量:<%#Eval("QuantityPerUnit") %>
16 </div>
17 </ItemTemplate>
18 </asp:ListView>