302班

java突击队
posts - 151, comments - 74, trackbacks - 0, articles - 14
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

GridView的背景颜色改变技巧

Posted on 2007-04-03 12:09 停留的风 阅读(4048) 评论(0)  编辑  收藏

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';}";    }
}


只有注册用户登录后才能发表评论。


网站导航: