|
|
itemdatabound小结 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
在DATAGRID中,如果要对某些记录进行格式化或者修饰,用到itemdatabound事件比较方便, 比如,要显示某人的存款金额已经少于某个数额了,要用红色来显示等。itemdatabound事件发生在 数据绑定到datagrid后,而其内容发送到客户端前。比如 private void OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) { // Check if the current row contains items; if it's // a header or footer row that will throw an error if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { // Get a copy of the "dgLabel2" label that contains the // "Balance" value Label lblBalance = (Label)e.Item.FindControl("dgLabel2"); // Convert the value contained in the label to a double type double dblBalance = Convert.ToDouble(lblBalance.Text); // If that numeric value is negative if(dblBalance < 0) // ...display it in red e.Item.Cells[3].ForeColor = System.Drawing.Color.Red; // Get a copy of the "dgLabel1" label that contains the // "Country" value Label lblCountry = (Label)e.Item.FindControl("dgLabel1"); // ...convert it to a string string strCountry = lblCountry.Text; // If it's a North American country... if(strCountry == "USA" || strCountry == "Mexico" || strCountry == "Canada") { // Get a copy of the "dgLabel0" label that contains the // "CustomerID" value, we'll use it in the query string // for the popup Label lblID = (Label)e.Item.FindControl("dgLabel0"); // ...convert it to a string string strID = lblID.Text; // Replace the "Country" value displayed in the datagrid // with "Jamaica", placed in a hyperlink who's OnClick // event calls a javascript "popup" window e.Item.Cells[2].Text = "<a href=\"popup.aspx?id=" + strID + "\" onClick=\"popup(this.href); return false;\">Jamaica</a>"; } } }
而itemcreated事件和它有些不同,itemcreated发生在itemdatabound事件前,当datagrid中的每一项创建了但没 有数据时,所以不能用itemcreated事件来修改或者读取数据
|
|
相关文章:相关软件: |
|