asp.net的datagrid。怎么获得改行的颜色是什么

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:59:14
我做了一个当鼠标放在上面,那行的datagrid就变色,但是他变色后,就便不会来了,因为我的datagrid是用了一个模版。是交叉颜色变换的那种。
当鼠标移开,他只会变成datagrid中其中的一种颜色,导致以前的datagrid是交换的颜色,现在变成只是一种颜色的样式。不知道怎么改

代码:
cs:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=\""+e.Item.Style["BACKGROUND-COLOR"]+"\"" );
e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=\""+ "#B9D9FB"+"\"" );
}

aspx:

<asp:datagrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 120px; POSITION: absolute; TOP: 160px"
Font-Size="Larger" HorizontalAlign="Center" GridLines="Vertical" BorderColor="#999999" BorderStyle="None"
BorderWidth="1px" BackColor=&qu

方法很多

专业一些的是
这么写

if(e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add( "onmouseover",
"this.OldBC=this.style.backgroundColor;this.style.backgroundColor='#B9D9FB';");
e.Item.Attributes.Add( "onmouseout",
"if(this.OldBC!=undefined)this.style.backgroundColor=this.OldBC;");
}

也许不能像你那样随心所欲
但是可以根据条件改变行的颜色
<asp:DataGrid id="dg1" runat=server OnItemDataBound="ibd">
</DataGrid>

public void ibd(Object o,DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView rv = (DataRowView)e.Item.DataItem;
// Get fourth column value.
//此处是获