GridVew 单击选择行

先在aspx页面的 Page 属性中添加

EnableEventValidation="false"

 

然后在 GridView 的 RowDataBound 事件中写入以下代码 就OK了

if (e.Row.RowIndex != -1)
        {
            //增加点击事件
            PostBackOptions myPostBackOptions = new PostBackOptions(this);
            myPostBackOptions.AutoPostBack = false;
            myPostBackOptions.RequiresJavaScriptProtocol = true;
            myPostBackOptions.PerformValidation = false;
            String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select{1}quot; + e.Row.RowIndex.ToString());
            e.Row.Attributes.Add("onclick", evt);
        }


 最近遇到新问题,如果在GridView网格中编辑,在实现上边的一段代码,会有个问题;就是在行内编辑的时候,文本框获取不到光标(图片就不发了,如有遇到此问题的编程人员会懂我说的是什么意思的),对此我再发以下代码解决此问题

protected void grdDataH_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if ((e.Row.RowState & DataControlRowState.Edit) != DataControlRowState.Edit)
            {
                //增加点击事件
                  PostBackOptions myPostBackOptions = new PostBackOptions(this);
                myPostBackOptions.AutoPostBack = false;
                myPostBackOptions.RequiresJavaScriptProtocol = true;
                myPostBackOptions.PerformValidation = false;
                String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select{1}quot; + e.Row.RowIndex.ToString());
                e.Row.Attributes.Add("onclick", evt);
            }
        }
    }

此代码复制粘贴可用,希望遇到此问题的人采纳!!!

你可能感兴趣的:(GridVew 单击选择行)