高效利用数据绑定控件中数据源的数据!!!(DataRowView和DbDataRecord)

3 views
Skip to first unread message

dinas...@gmail.com

unread,
Dec 5, 2006, 4:08:10 AM12/5/06
to WEB开发技巧回收站
在为数据绑定控件如:DataGrid、DataList等指定了数据源后,可以在相应的ItemDataBind事件中对绑定过程进行定制,这是人所共知的。可是你知道如何让它工作更高效吗?下面就告诉你!
1、如果你的数据是DataSet/DataView/DataTable的话,你可以在ItemDataBind事件中这样使用:

DataRowView rv=(DataRowView)e.Item.DataItem;
if((bool)rv["性别"]==true)
e.Item.Cells[2].Text="男";
else
e.Item.Cells[2].Text="女";

2、如果你的数据源是DataReader的话,你就可以按照下面的办法使用:

System.Data.Common.DbDataRecord rec =
(System.Data.Common.DbDataRecord)e.Item.DataItem;
if((bool)rec["性别"]==true)
e.Item.Cells[2].Text="男";
else
e.Item.Cells[2].Text="女";

就像上面那样使用,非常简单,你也可以用在你的开发中。

dinas...@gmail.com

unread,
Dec 5, 2006, 7:15:10 AM12/5/06
to WEB开发技巧回收站
Container 表示直接层次结构中支持
System.Web.UI.INamingContainer
标记接口的第一个控件。本例中,Container 解析为
System.Web.UI.WebControls.RepeaterItem
类型的对象,而该类型具有 DataItem 属性。当 Repeater 在
DataSource 集合上迭代时,DataItem
随之包含该集合的当前项。例如,如果将数据源设置为
Employee 对象的 ArrayList,则 DataItem 是 Employees
类型。当绑定到 DataView 时,DataItem 是 DataRowView
类型,当绑定到DataReader时,DataItem就是DbDataRecord类型的,位于System.Data.Common命名空间下。
Reply all
Reply to author
Forward
0 new messages