页面上有一GridView控件,其中有一按钮列。要求点击按钮时,改变本列底色。
我用如下代码实现:protected void gvMain_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "ShowDetail")    //ShowDetail是按钮名称         
    {        int iRowIndex = int.Parse(e.CommandArgument.ToString());
        gvMain.Rows[iRowIndex].BackColor = Color.Aquamarine;     
     }}可是该代码仅能将本行底色改变;不能将先前点击过的行的底色恢复。
请教如何编写代码能恢复先前点击过的行的底色?

解决方案 »

  1.   

    你说的就是“选择”列吧?
    Gridview专门有一个样式就是SelectRowStyle,只要你那个按钮是选择,或者RowCommand为Select就是这样。不用专门写代码让它变色。
      

  2.   

    回楼上:
      不是“选择”列。
       是按钮列,CommandField.
       该按钮的功能提取用本行的各列数据。同时实现“选择”列的效果。
      

  3.   

    设置好SelectRowStyle后,在按钮事件中设计行的状态:在按钮事件中加入:
    GridView1.Rows[i].RowState = DataControlRowState.Selected;
      

  4.   

    GridView1.Rows[iRowIndex].Attributes.Add("style", "BACKGROUND-COLOR:#dddddd");
      

  5.   

    GridView1.Rows[iRowIndex].Attributes.Add("style", "BACKGROUND-COLOR:#dddddd");
    --------颜色你自己改....