GridView的属性介绍

本文详细介绍了GridView数据绑定的原理,特别是DataKey、e.RowIndex等关键概念,并通过实例展示了如何利用这些特性进行行相关事件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


举个例子来说吧  你将一个student表绑定到grid上  这个表里有一些字段 包括id  姓名  学号 等等等等  grid的DataKey 属性设置了 datakey=“学号”
下边开始解释问题

GridView1.DataKeys是什么?

GridView有一个属性是DataKey  当将数据表绑定到GridView时,设置数据表的一列为DataKey  即GridView.datakey=“学号”
msdn讲DataKey解释为  获取 DataKeyCollection 对象,它存储数据列表控件中每个记录的键值。
其实 就是将 [学号] 这列作为列关键字 列标识

e.RowIndex是什么含义?

能够使用e.rowindex 说明 应该是grid的row相关事件  其中的e就是事件的触发者 也就是当前行 e.rowindex 也就是当前行的索引 行号 第几行的“几”

GridView1.DataKeys[e.RowIndex]是一个数组吗?

GridView1.DataKeys是一个数组 存储的是数据表中的一列的值  这一列 就是设为DataKeys的一列 即[学号]这一列
GridView1.DataKeys[e.RowIndex]则是学号这一列这个数组中的一个值  索引为当前行的行号 
也就是说GridView1.DataKeys[e.RowIndex]是当前行所对应的数据行这一行 的 学号这个datakey

GridView1.DataKeys[e.RowIndex].Value是什么?

这里就是当前行所对应的数据行这一行 的 学号这个datakey 所存储的值 即当前选择这个学生的学号

GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString()

GridView1.DataKeys[e.RowIndex].Value.ToString()  的区别

是不同事件中获取当前选中行行号的不同方法 
在grid的行相关事件中  可以直接用e来得到当前行 但是在非grid行事件中 作为e的事件触发对象就不是行 所以要用GridView1.SelectedIndex 来获取当前选中行的行号
控件使用 1、鼠标经过行的时候改变该行的样式,鼠标离开行的时候恢复该行的样式 使用方法(设置属性): MouseOverCssClass - 鼠标经过行时行的 CSS 类名 2、对多个字段进行复合排序;升序、降序的排序状态提示 使用方法(设置SmartSorting复合属性): AllowSortTip - 是否启用排序提示 AllowMultiSorting - 是否启用复合排序 SortAscImageUrl - 升序提示图片的URL(不设置则使用默认图片) SortDescImageUrl - 降序提示图片的URL(不设置则使用默认图片) SortAscText - 升序提示文本 SortDescText - 降序提示文本 3、根据按钮的CommandName设置其客户端属性 使用方法(设置ClientButtons集合属性): BoundCommandName - 需要绑定的CommandName AttributeKey - 属性的名称 AttributeValue - 属性的值(两个占位符:{0} - CommandArgument;{1} - Text) Position - 属性的值的位置 4、联动复选框(复选框的全选和取消全选)。选中指定的父复选框,则设置指定的所有子复选框为选中状态;取消选中指定的父复选框,则设置指定的所有子复选框为取消选中状态。如果指定的所有子复选框为均选中状态,则设置指定的父复选框为选中状态;如果指定的所有子复选框至少有一个为取消选中状态,则设置指定的父复选框为取消选中状态 使用方法(设置CascadeCheckboxes集合属性): ParentCheckboxID - 模板列中 父复选框ID ChildCheckboxID - 模板列中 子复选框ID CashBox.Helper.WebGrid中的静态方法 List GetCheckedDataKey(GridView gv, int columnIndex) List GetCheckedDataKey(GridView gv, string checkboxId) 5、固定指定行、指定列,根据RowType固定行,根据RowState固定行 使用方法(设置FixRowColumn复合属性): FixRowType - 需要固定的行的RowType(用逗号“,”分隔) FixRowState - 需要固定的行的RowState(用逗号“,”分隔) FixRows - 需要固定的行的索引(用逗号“,”分隔) FixColumns - 需要固定的列的索引(用逗号“,”分隔) TableWidth - 表格的宽度 TableHeight - 表格的高度 6、响应行的单击事件和双击事件,并在服务端处理 使用方法(设置属性): BoundRowClickCommandName - 行的单击事件需要绑定的CommandName BoundRowDoubleClickCommandName - 行的双击事件需要绑定的CommandName 7、行的指定复选框选中的时候改变该行的样式,行的指定复选框取消选中的时候恢复该行的样式 使用方法(设置CheckedRowCssClass复合属性): CheckBoxID - 模板列中 数据行的复选框ID CssClass - 选中的行的 CSS 类名 8、导出数据源的数据为Excel、Word或Text(应保证数据源的类型为DataTable或DataSet) 使用方法: 为WebGrid添加的方法 Export(string fileName) Export(string fileName, ExportFormat exportFormat) Export(string fileName, ExportFormat exportFormat, Encoding encoding) Export(string fileName, int[] columnIndexList, ExportFormat exportFormat, Encoding encoding) Export(string fileName, int[] columnIndexList, string[] headers, ExportFormat exportFormat, Encoding encoding) Export(string fileName, string[] columnNameList, ExportFormat exportFormat, Encoding encoding) Export(string fileName, strin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值