asp.net gridview 如何实现行点击事件

第一步:绑定行点击事件

protected void GV_DATA_RowDataBound( object sender, GridViewRowEventArgs e )
    {
        if( e.Row.RowType == DataControlRowType.DataRow )
        {
            e.Row.Attributes.Add( "onmouseover", "if(this!=prevselitem){this.style.backgroundColor='#Efefef'}" );
            e.Row.Attributes.Add( "onmouseout", "if(this!=prevselitem){this.style.backgroundColor=''}" );
            e.Row.Attributes.Add( "onclick", e.Row.ClientID.ToString() + ".checked=true;selectx(this)" );
            e.Row.Attributes[ "style" ] = "Cursor:hand";
        } 
    }

或者

 protected void gridCiqGoodsDeclarCheck_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            e.Row.Attributes["style"] = "cursor:hand";
            PostBackOptions myPostBackOptions = new PostBackOptions(this);
            myPostBackOptions.AutoPostBack = false;
            myPostBackOptions.PerformValidation = false;
            myPostBackOptions.RequiresJavaScriptProtocol = true; //加入javascript:头
            String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select$" + e.Row.RowIndex.ToString());
            e.Row.Attributes.Add("onclick", evt);
        }

第二步 即可写行改变事件

  protected void gridCiqGoodsDeclarCheck_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (gridCiqGoodsDeclarCheck.SelectedRow == null)
                return;
            //获取运单号
            string logisticsNo = gridCiqGoodsDeclarCheck.SelectedRow.Cells[0].Text;
            if (string.IsNullOrEmpty(logisticsNo))
                return;
        }

第三步  <%@ Page Language="C#" 加一段话  

EnableEventValidation="false" 

就OK了

还可以参考其他的:http://bbs.csdn.net/topics/340090915

          http://blog.csdn.net/junboyboy/article/details/17922037

你可能感兴趣的:(asp.net gridview 如何实现行点击事件)