DATAGRID:
ItemDataBound嘛,只要执行了DataBind方法,就会马上激发这个事件。
ItemDataBound嘛,只要执行了DataBind方法,就会马上激发这个事件。
ItemCreated呢,如果页面是第一次访问(Page.IsPostBack = false),那在第一次执行DataBind的时候,会先激发ItemCreated事件,也就是说,执行了DataBind后,首先会用ItemCreated来建立Header行,然后用ItemDataBound来绑定Header行,再用ItemCreated来建立第一行,再调用ItemDataBound来绑定第一行,也就是说ItemCreated和ItemDataBound是交替执行的。
页面返回时,也会执行ItemCreated事件,在Page_Load之前,但是这时候就不会再执行ItemDataBound事件了。
所以,如果你想在DataGrid里动态添加什么控件,就需要在ItemCreated事件中,而不是在ItemDataBound事件中。
private void MainDataList_ItemCreated(object sender,
System.Web.UI.WebControls.DataListItemEventArgs
e)
{
if(strBgcolor=="#ffffff")
{
strBgcolor="#f0f8f3";
}
else
{
strBgcolor="#ffffff";
}
if
( (e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType ==
ListItemType.AlternatingItem)
)
{
if(((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString()=="合计")
{
strBgcolor="#ff0000";//+((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString();
// Label1.Text=((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString()+((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString();
//e.Item.BackColor
= Color.FromArgb(204,204,153);
//e.Item.Font.Bold =
true;
}
}
}
System.Web.UI.WebControls.DataListItemEventArgs
e)
{
if(strBgcolor=="#ffffff")
{
strBgcolor="#f0f8f3";
}
else
{
strBgcolor="#ffffff";
}
if
( (e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType ==
ListItemType.AlternatingItem)
)
{
if(((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString()=="合计")
{
strBgcolor="#ff0000";//+((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString();
// Label1.Text=((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString()+((DataRowView)e.Item.DataItem).Row.ItemArray[0].ToString();
//e.Item.BackColor
= Color.FromArgb(204,204,153);
//e.Item.Font.Bold =
true;
}
}
}
浙公网安备 33010602011771号