datalist的数据绑定事件收藏
2009-02-16 21:40
417 查看
<ASP:DataList id="MyDataList" runat="server" RepeatLayout="Table"
OnItemDataBound="CheckTitle">
//OnItemDataBound事件发生在各行被绑定到源数据时被调用
<HeaderTemplate>
<div class="rHead">
Some of the Latest Wrox Press Books<br />
<img src="images/redrule.gif">
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="rItem">
<b><ASP:Label id="TitleLabel" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' /></b><br />
* ISBN: <%# DataBinder.Eval(Container.DataItem, "ISBN") %>
Published: <%# DataBinder.Eval(Container.DataItem, "PublicationDate") %>
</div>
</ItemTemplate>
//上面绑定到数据源的各个字段
<FooterTemplate>
<img src="images/redrule.gif">
<div class="rFoot">
For more information visit <a href="http://www.wrox.comhttp://www.wrox.com">http://www.wrox.com</a>
</div>
</FooterTemplate>
</ASP:DataList><p />
下面是脚本:
<script language="c#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (!Page.IsPostBack) // fill the DataList from a DataView object
{
// get connection string from ..\global\connect-strings.ascx user control
string strConnect = ctlConnectStrings.OLEDBConnectionString;
// create a SQL statement to select some rows from the database
string strSelect = "SELECT * FROM BookList WHERE ISBN LIKE '%18610026%'";
// create a variable to hold an instance of a DataView object
DataView objDataView;
// get dataset from get-dataset-control.ascx user control
//数据源是dataview
objDataView = ctlDataView.GetDataView(strConnect, strSelect);
if (objDataView == null)
return;
// set the DataSource property of the DataList
MyDataList.DataSource = objDataView;
// and bind the control to the data
MyDataList.DataBind();
}
}
//OnItemDataBound事件发生在各行被绑定到源数据时被调用该函数(即在发送到客户端之前发生):
void CheckTitle(Object objSender, DataListItemEventArgs objArgs)
{
// see what type of row (header, footer, item, etc.) caused the event
ListItemType objItemType = (ListItemType)objArgs.Item.ItemType;
// only format the results if it's an Item or AlternatingItem event
if (objItemType == ListItemType.Item || objItemType == ListItemType.AlternatingItem)
{
// objArgs.Item.DataItem returns the data for this row of items
DataRowView objRowVals = (DataRowView)objArgs.Item.DataItem;
// get the value of the Title column
string strTitle = objRowVals["Title"].ToString();
if (strTitle.IndexOf("Active Server Pages") != -1 || strTitle.IndexOf("ADO") != -1)
{
// get a reference to the "Title" ASP:Label control in this row
//找到此行中id="TitleLabel"的单元并添加特殊字段
Label objLabel = (Label)objArgs.Item.FindControl("TitleLabel");
// add a message to this Label control
objLabel.Text += " <span class='bigRed'>Great for ASP Programmers!</span>";
}
}
}
</script>
小结:DataListItemEventArgs objArgs对象包含了关于该事件和被绑定的行信息。
注意用法:
ListItemType objItemType = (ListItemType)objArgs.Item.ItemType;
DataRowView objRowVals = (DataRowView)objArgs.Item.DataItem;
//objArgs.Item.DataItem返回了此行的数据项(本例中为"Title"和"ISBN""PublicationDate")
string strTitle = objRowVals["Title"].ToString();
OnItemDataBound="CheckTitle">
//OnItemDataBound事件发生在各行被绑定到源数据时被调用
<HeaderTemplate>
<div class="rHead">
Some of the Latest Wrox Press Books<br />
<img src="images/redrule.gif">
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="rItem">
<b><ASP:Label id="TitleLabel" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "Title") %>' /></b><br />
* ISBN: <%# DataBinder.Eval(Container.DataItem, "ISBN") %>
Published: <%# DataBinder.Eval(Container.DataItem, "PublicationDate") %>
</div>
</ItemTemplate>
//上面绑定到数据源的各个字段
<FooterTemplate>
<img src="images/redrule.gif">
<div class="rFoot">
For more information visit <a href="http://www.wrox.comhttp://www.wrox.com">http://www.wrox.com</a>
</div>
</FooterTemplate>
</ASP:DataList><p />
下面是脚本:
<script language="c#" runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (!Page.IsPostBack) // fill the DataList from a DataView object
{
// get connection string from ..\global\connect-strings.ascx user control
string strConnect = ctlConnectStrings.OLEDBConnectionString;
// create a SQL statement to select some rows from the database
string strSelect = "SELECT * FROM BookList WHERE ISBN LIKE '%18610026%'";
// create a variable to hold an instance of a DataView object
DataView objDataView;
// get dataset from get-dataset-control.ascx user control
//数据源是dataview
objDataView = ctlDataView.GetDataView(strConnect, strSelect);
if (objDataView == null)
return;
// set the DataSource property of the DataList
MyDataList.DataSource = objDataView;
// and bind the control to the data
MyDataList.DataBind();
}
}
//OnItemDataBound事件发生在各行被绑定到源数据时被调用该函数(即在发送到客户端之前发生):
void CheckTitle(Object objSender, DataListItemEventArgs objArgs)
{
// see what type of row (header, footer, item, etc.) caused the event
ListItemType objItemType = (ListItemType)objArgs.Item.ItemType;
// only format the results if it's an Item or AlternatingItem event
if (objItemType == ListItemType.Item || objItemType == ListItemType.AlternatingItem)
{
// objArgs.Item.DataItem returns the data for this row of items
DataRowView objRowVals = (DataRowView)objArgs.Item.DataItem;
// get the value of the Title column
string strTitle = objRowVals["Title"].ToString();
if (strTitle.IndexOf("Active Server Pages") != -1 || strTitle.IndexOf("ADO") != -1)
{
// get a reference to the "Title" ASP:Label control in this row
//找到此行中id="TitleLabel"的单元并添加特殊字段
Label objLabel = (Label)objArgs.Item.FindControl("TitleLabel");
// add a message to this Label control
objLabel.Text += " <span class='bigRed'>Great for ASP Programmers!</span>";
}
}
}
</script>
小结:DataListItemEventArgs objArgs对象包含了关于该事件和被绑定的行信息。
注意用法:
ListItemType objItemType = (ListItemType)objArgs.Item.ItemType;
DataRowView objRowVals = (DataRowView)objArgs.Item.DataItem;
//objArgs.Item.DataItem返回了此行的数据项(本例中为"Title"和"ISBN""PublicationDate")
string strTitle = objRowVals["Title"].ToString();
相关文章推荐
- 数据绑定控件收藏 GridView DataList Repeater FormView DetailsView
- datalist的数据绑定事件
- 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
- 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
- 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
- 数据绑定控件Repeater/GridView/DataList在前台显示正确的文本格式收藏
- datalist数据绑定时发生的事件
- REPEATER控件显示数据,交替项显示;分页类的使用,Repeater控件分页;使用DataList控件绑定数据;使用DataList控件的选择模板
- ASP.NET 中 DropDownList+DataList(数据列表)的使用前台绑定
- 《ASP.NET1200例》嵌套在DataLisT控件中的其他服务器控件---DropDownList控件的数据绑定
- 怎样在gridview和datalist之类的绑定控件里控制显示 数据省略?
- asp.net customdatagrid 或gridview绑定数据的时候经常要用到的 ItemDataBound 事件的方法
- Asp.net中在GridView数据绑定事件中改变显示内容要注意的问题
- 如何在 Repeater 的事件中得到 当前 Item 绑定的数据 ---声明转载
- DataList绑定数据到泛型类(Dictionary)
- Asp.net 后台绑定数据,前台没有反应的灵异事件. 八成有UpdatePanel 造成.
- Android布局设计之ExpandableList绑定XML数据构成级联、item布局页面的控件查找及配置child事件,自定义适配显示内容
- jqueryEasyUI:tabs扩展:给tabs组件绑定双击事件 分类: JqueryEasyUI 2014-09-29 14:36 536人阅读 评论(0) 收藏
- 解决DataList再次绑定数据时出错!
- ComboBox绑定DataTable数据,用户选中项后触发事件异常。