日期:2014-05-18  浏览次数:20454 次

关于GRIDVIEW选中行的颜色还原的问题
要实现效果,在GRIDVIEW中选中一行后,onclick到的这行颜色高亮
(注:不能用onmouseover来还原行颜色,而是在另外一行onclick后当前行高亮,之前的高亮那行颜色还原),下面代码只是选中高亮,但会累加,就是点一行高亮一行,而我要的是永远只有当前onclick那行高亮

             
  if   (e.Row.RowType   ==   DataControlRowType.DataRow)
                {
e.Row.Attributes.Add( "onclick ",   "this.style.backgroundColor= '#ff9900 ' ");

                }

------解决方案--------------------
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add( "onclick ", "showColor(this) ");
}

<script type= "text/javascript ">
function showColor(obj)
{
var rowindex = obj.rowIndex;
obj.style.backgroundColor= '#ff9900 ';
for(var i=1;i <obj.parentElement.rows.length;i++)
{
if(i!=rowindex)
{
obj.parentElement.rows[i].style.backgroundColor = "#ffffff ";
}
}
}
</script>