ASP.Net应用深入系列(一):GridView行绑定时取得某个数据列的几种方法比较
2009-08-03 10:48
549 查看
ASP.Net应用深入系列(一):GridView行绑定时取得某个数据列的几种方法比较
要获取当前行的某个数据列,我在实践中总结有如下几种方法:
Cells[x].Txt。
从列单元格的文本值获取。这种方法简单高率,最为常用,但是功能单纯。此法存在几个缺点:
(1)无法获取到设置了隐藏属性的数据列的值,所取到的值为“”(空)。
(2)只能获取在HTML中定义过的数据列,无法查询数据源中的当前数据行的所有字段列。一般情况下,通过HTML设置GridView的字段列的数量往往小于数据源的实际字段数量,这是因为从业务逻辑的角度看,并不是所有的字段都是要显示在页面上的。当需要使用没有被显示的字段时,此法就不能直接满足需求了。
e.Row.Cells[x].FindControl("YourcontrolName")。
这是在单元格内查找某个服务器控件,从而获得其数据值。这种方式可以操作单元格内的服务器控件。此法一般用于处理模板列中的数据或控件。
(DataRowView)e.Row.DataItem).Row.ItemArray[x].ToString()。
此法的核心是e.Row.DataItem,它是GridView的行数据集,为Object类型,将其转化为DataRowView类型后,可以获得更多的操作方法。此数据集表示数据源当前行的全部字段列,ItemArray[x]是当前行全部字段列的数组对象,可以通过索引x获得任意字段值。此法的强悍之处是可以对数据源的全部字段查询。
DataBinder.Eval(e.Row.DataItem, "YourDataFieldName").ToString()。
此法仍然基于e.Row.DataItem,其特点是更快捷的获得数据源的任意字段值,因为使用了DataBinder.Eval(),需要注意的是不要写错字段名称。
将e.Row.DataItem转化为自定义类型,实现数据类型化。
例如:
Project project=(Project)((DataRowView)e.Row.DataItem).Row;
其中Project 工程中定义的一个项目类型,。通过此法,实现了类型化数据的广泛应用。数据类型化的好处很多,显而易见的便是传一个类型数据给方法,取代一大堆参数,另外就是再也不会发生字段名拼写错误的情况。
要获取当前行的某个数据列,我在实践中总结有如下几种方法:
Cells[x].Txt。
从列单元格的文本值获取。这种方法简单高率,最为常用,但是功能单纯。此法存在几个缺点:
(1)无法获取到设置了隐藏属性的数据列的值,所取到的值为“”(空)。
(2)只能获取在HTML中定义过的数据列,无法查询数据源中的当前数据行的所有字段列。一般情况下,通过HTML设置GridView的字段列的数量往往小于数据源的实际字段数量,这是因为从业务逻辑的角度看,并不是所有的字段都是要显示在页面上的。当需要使用没有被显示的字段时,此法就不能直接满足需求了。
e.Row.Cells[x].FindControl("YourcontrolName")。
这是在单元格内查找某个服务器控件,从而获得其数据值。这种方式可以操作单元格内的服务器控件。此法一般用于处理模板列中的数据或控件。
(DataRowView)e.Row.DataItem).Row.ItemArray[x].ToString()。
此法的核心是e.Row.DataItem,它是GridView的行数据集,为Object类型,将其转化为DataRowView类型后,可以获得更多的操作方法。此数据集表示数据源当前行的全部字段列,ItemArray[x]是当前行全部字段列的数组对象,可以通过索引x获得任意字段值。此法的强悍之处是可以对数据源的全部字段查询。
DataBinder.Eval(e.Row.DataItem, "YourDataFieldName").ToString()。
此法仍然基于e.Row.DataItem,其特点是更快捷的获得数据源的任意字段值,因为使用了DataBinder.Eval(),需要注意的是不要写错字段名称。
将e.Row.DataItem转化为自定义类型,实现数据类型化。
例如:
Project project=(Project)((DataRowView)e.Row.DataItem).Row;
其中Project 工程中定义的一个项目类型,。通过此法,实现了类型化数据的广泛应用。数据类型化的好处很多,显而易见的便是传一个类型数据给方法,取代一大堆参数,另外就是再也不会发生字段名拼写错误的情况。
相关文章推荐
- ASP.Net应用深入系列(一):GridView行绑定时取得某个数据列的几种方法比较
- ASP.NET-GridView数据绑定的几种方法
- GridView行绑定时取得某个数据列的几种方法比较
- ASP.NET-GridView数据绑定的几种方法
- ASP.NET GridView绑定数据方法和转换绑定数据
- ASP.Net页面保存持久数据的几种方法比较
- asp.net customdatagrid 或gridview绑定数据的时候经常要用到的 ItemDataBound 事件的方法
- asp.net GridView 后台绑定数据无数据显示表头及没有数据一行
- 几种判断asp.net中session过期方法的比较
- 深入ASP.NET数据绑定(上)
- 深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一
- ASP.NET 2.0 - 控件系列(四) – GridView绑定
- Asp.net中在GridView数据绑定事件中改变显示内容要注意的问题
- 深入剖析微软ASP.NET Ajax中的数据绑定架构上篇之一
- ASP.NET 2.0 中实现模板中的数据绑定系列
- 使用asp.net递归的方法来实现treeview的数据绑定
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- ASP.NET 2.0 的数据绑定控件概述与区别(GridView、DetailsView、FormView 、Repeater、DataList)
- Ajax在Asp.net中数据绑定应用探索
- ASP.NET页面间数据传递的几种方法(it168)