creazygirl

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
新知识:
1、“TextBox”不能有类型为“DataBoundLiteralControl”的子级。所以它的text属性不能通过databinder绑定到数据源%#DataBinder.Eval(Container.DataItem,"ProductName")%>
2、“System.Web.UI.WebControls.DataListItem”并不包含对“Cells”的定义
3、((TextBox)datalist1.findcontrol(textbox1)).text=i;
 4、foreach(DataListItem CheckBoxItem in DataList1.Items):foreach主要用来循环数组数据,foreach语句结构是用于只读而且顺序的遍历一个集合中的所有的元素,而该集合必须实现了System.Collections.IEnumerable接口。 DataListItem CheckBoxItem in DataList1.Items表示datalist中的checkbox项;
5、当datalist的各控件(itemtemplate,alternatingitemtemplate,selectitemtemplate,edititemtemplate)绑定至数据源时会引发itemdatabound事件,该事件是数据项被显示到客户端前能够加以访问的最后机会,在该事件引发后将无法再取得该数据项。如果要根据数据来定义datalist各模板中的项,就在该事件中处理,在该事件中是用e.item.dataitem属性来测试绑定至控件的数据。如果datalist控件的数据源是SQLDATAREADER则必须将e.item.dataitem转换成DBDATARECORD类:system.data.common.dbdatarecord drv=(system.data.common.dbdatarecord)e.item.dataitem;然后通过drv访问数据。如果datalist数据源是数据视图表dataview,则e.item.dataitem转换成datarowview类。
示例: private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) { if((e.Item.ItemType==ListItemType.Item)||(e.Item.ItemType==ListItemType.AlternatingItem)||(e.Item.ItemType==ListItemType.EditItem)||(e.Item.ItemType==ListItemType.SelectedItem)) { System.Data.Common.DbDataRecord drv=(System.Data.Common.DbDataRecord)e.Item.DataItem; //Label1.Text=dr["UnitsInStock"].ToString(); if((Convert.ToInt32(drv["UnitsInStock"]))< 10) e.Item.BackColor=Color.Red; } }
posted on 2006-06-03 15:08  久久  阅读(1656)  评论(0编辑  收藏  举报