1、GridView控件
支持的功能
绑定至数据源,如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
>