在GridView中有一select列,当点击select的时候,选中该行,该行颜色变为绿色。现在,我将该列的Visible设置为false,让它隐藏,而想在该行上添加一点击事件,当在该行上点击的时候,调用服务器上的那个select事件,选中该行,行变色。该怎么做?谢谢

解决方案 »

  1.   

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
            if (e.Row.RowIndex >= 0)
                e.Row.Attributes.Add("onclick", "javascript:__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')");
    }
      

  2.   

    当把select那一列不显示(visible=false)之后,出现错误。Invalid postback or callback argument。现在服务器上有一方法 void selectRow(gridView myview,int rowIndex){...},如何在客户端的的每一行的click事件中让其提交到服务器调用该方法?
      

  3.   

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
            e.Row.Cells[0].Style.Add("display", "none");//选择列的隐藏用样式实现
            if (e.Row.RowIndex >= 0)
                e.Row.Attributes.Add("onclick", "javascript:__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')");
     }
      

  4.   

    谢谢你的指点。不知道你试过没有,这样做结果是:第一次打开页面的时候 select列是没出现,而且点击一行可以选择,提交到服务器,选中。选中之后,select列有自动出现了,这个问题我也觉得挺奇怪的。
      

  5.   

    为什么通过rowCreated添加到服务器控件中的属性在再次返回之后不能保存状态,即比如像刚才 添加的 display 属性,还有给以行上添加的 click事件也没有了,这是怎么回事,有劳大虾指点。还有,怎么在客户端取得服务器段事件的句柄?能给服务器控件添加 expando属性吗?比如 gridviewrow没有click事件,如何给他添加该事件,让其和服务器事件联系起来。谢谢
      

  6.   

    那位大虾知道如何将客户端请求给回传到服务器?Response.Write("<A onclick='"+这里如何写+"'>test</A>")使onclick得到服务器事件的句柄?执行服务器事件?谢谢
      

  7.   

    Page.GetPostBackClientHyperLink(__EVENTTARGET,__EVENTARGUMENT)
    或Page.GetPostBackEventReference(__EVENTTARGET,__EVENTARGUMENT)
      

  8.   

    GridView的行上没有click事件,我想在GridView的行上添加这一事件,然后从客户端的表格的行上的onclick来引发该事件,不知道有何良方。