GridView中RowDataBound事件 获取列值的方法
来源:互联网 发布:cg用到哪些软件 编辑:程序博客网 时间:2024/05/16 19:30
GridView是ASP.NET中功能强大的数据显示控件,它的RowDataBound事件为我们提供了方便的控制行、列数据的途径。 软件开发网 www.mscto.com
要获取当前行的某个数据列,有如下几种方法:
1. Cells[x].Txt。
从列单元格的文本值获取。这种方法简单高率,最为常用,但是功能单纯。此法存在几个缺点:
(1)无法获取到设置了隐藏属性的数据列的值,所取到的值为“”(空)。
(2)只能获取在HTML中定义过的数据列,无法查询数据源中的当前数据行的所有字段列。一般情况下,通过HTML设置GridView的字段列的数量往往小于数据源的实际字段数量,这是因为从业务逻辑的角度看,并不是所有的字段都是要显示在页面上的。当需要使用没有被显示的字段时,此法就不能直接满足需求了。
2. e.Row.Cells[x].FindControl("YourcontrolName")。
这是在单元格内查找某个服务器控件,从而获得其数据值。这种方式可以操作单元格内的服务器控件。此法一般用于处理模板列中的数据或控件。
3. (DataRowView)e.Row.DataItem).Row.ItemArray[x].ToString()。
此法的核心是e.Row.DataItem,它是GridView的行数据集,为Object类型,将其转化为DataRowView类型后,可以获得更多的操作方法。此数据集表示数据源当前行的全部字段列,ItemArray[x]是当前行全部字段列的数组对象,可以通过索引x获得任意字段值。此法的强悍之处是可以对数据源的全部字段查询。
4. DataBinder.Eval(e.Row.DataItem, "YourDataFieldName").ToString()。
此法仍然基于e.Row.DataItem,其特点是更快捷的获得数据源的任意字段值,因为使用了DataBinder.Eval(),需要注意的是不要写错字段名称。 软件开发网 www.mscto.com
5. 将e.Row.DataItem转化为自定义类型,实现数据类型化。
例如:
DSRequestTracking.TB_RequestTrackingRow rtrow=(DSRequestTracking.TB_RequestTrackingRow)((DataRowView)e.Row.DataItem).Row;
RequestStatusDropDownList1.SelectedValue = rtrow.StatusID.ToString();
其中DSRequestTracking是通过DSRequestTracking.xsd文件在工程中自定义的强类型DataSet, TB_RequestTrackingRow是VS自动为此强类型生成的创建数据行对象的方法。通过此法,实现了类型化数据的广泛应用。数据类型化的好处很多,显而易见的便是传一个类型数据给方法,取代一大堆参数,另外就是再也不会发生字段名拼写错误的情况。
- GridView中RowDataBound事件 获取列值的方法
- GridView控件RowDataBound事件中获取列字段的几种方法
- GridView控件RowDataBound事件中获取列字段值的几种途径 !!!
- GridView控件RowDataBound事件中获取列字段
- GridView控件RowDataBound事件中获取列字段
- GridView控件RowDataBound事件中获取列字段
- GridView控件RowDataBound事件中获取列字段途径
- GridView控件RowDataBound事件中获取列字段
- GridView绑定时通过RowDataBound事件获取数据源列值
- GridView绑定时通过RowDataBound事件获取数据源列值
- GridView控件RowDataBound事件中获取列字段的几种途径
- GridView控件RowDataBound事件中获取列字段的几种途径
- GridView控件RowDataBound事件中获取列字段的几种途径
- GridView控件RowDataBound事件中获取列字段的几种途径
- GridView控件RowDataBound事件中获取列字段的几种途径
- GridView控件RowDataBound事件中获取列字段的几种途径
- GridView中RowDataBound事件无法使用隐藏列的解决方法
- Asp.net 中 GridView 在 RowDataBound事件中获取 某列值 的方法
- 2010.7.27感想
- AMD产品路线图曝光:Fusion APU将登场
- 架构师的行为准则(四)
- myeclipse中整合spring与hibernate
- Code49 如何将null值插入到DateTime字段
- GridView中RowDataBound事件 获取列值的方法
- stat 命令的用法
- c语言中restrict和const的区别
- 腾讯,到了该创新的时候了
- JVM相关
- dwr 更新xml
- 在stylereport中做到一个单元格内写两个标题
- Cacti的安装(for CentOS 5.2)
- An unexpected error has been detected by Java Runtime Environment