1.在GridView控件的属性/事件/RowDataBiond中,双击系统就会在.cs文件中自动生成一个GridView1_RowDataBound1函数。
2.在.cs文件中的该函数里,写代码改变是否完检列的显示文字,以及行的背景颜色。
3.在下面代码中,e.Row.Cells[6] 指的就是是否完检列,在函数中控制他的Text属性即可。
e.Row.BackColor = System.Drawing.Color.Bisque;
e.Row.Cells[6].Text = "未完检";
全部函数代码如下:
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
//Response.Write(e.Row.Cells.Count.ToString()+"---");
if ((e.Row.Cells.Count >= 6)&&(e.Row.RowIndex >= 0)) //判断行数
{
string myUpdateTime = e.Row.Cells[6].Text;
//判断第6列上的标志是否为0,如果为0,则让该行的背景颜色变为Bisque色,让该行6列显示文字为“未完检”。
if (myUpdateTime == "0")
{
e.Row.BackColor = System.Drawing.Color.Bisque;
e.Row.Cells[6].Text = "未完检";
}
Else //如果第6列上的标志是否为1,则让该行第9列上的超级链接变为不可点;该行6列显示文字为“完检”。
{
e.Row.Cells[9].Enabled = false; //e.Row.Cells[9] 指的就是超级链接列,在函数中控制他的Enabled属性
e.Row.Cells[6].Text = "完检";
}
}
}
///////////////////////////////////////////////////////////////////////
DataGrid选择项时,颜色的变化
方法1:
直接用JS就可以实现
<SelectedItemStyle CssClass="dataGridSelectItem"></SelectedItemStyle>
然后在CSS里写
.dataGridSelectItem
{
cursor: hand;//这个表示移上去变成手
background-color: lightgrey;
}
方法2:
//DataGrid_ItemDataBound事件
private void changeRowColor(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//如果是数据项并且是交替项
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//添加自定义属性,当鼠标移过来时设置该行的背景色为"6699ff",并保存原背景色
e.Item.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");
//添加自定义属性,当鼠标移走时还原该行的背景色
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");
}
}
方法3:
public void DataGrid1_ItemDataBound(object sender,DataGridItemEventArgs e)
{
if(e.Item.ItemType!=ListItemType.Header)
{
e.Item.Cells[1].Attributes["onmouseover"]="if(this.bgColor=='#e8f4ff'){this.bgColor='#ffffff';}else{this.bgColor='#e8f4ff';}"; }
}