itemdatabound小结

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

在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事件来修改或者读取数据

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航