给自定义的gridview添加双击事件

[ParseChildren(true)]
[PersistChildren(false)]
[ToolboxData("<{0}:GridViewPlus runat=server></{0}:GridViewPlus>")]
[ToolboxBitmap(typeof(GridView))]
public class GridViewPlus : GridView {
    #region constructors
    public GridViewPlus() : base() { }
    public GridViewPlus(string pId) {
        this.ID = MyHelper.ToString(pId);
        }
    #endregion constructors
    public delegate void RowDblClickEventHandler(object sender, int RowIndex);
    public event RowDblClickEventHandler RowDblClick; 
    protected override void OnLoad(EventArgs e) {
        base.OnLoad(e);
        this.Load_RowDblClickEventHandler();
        }
    protected virtual void OnRowDblClick(object sender, int RowIndex){
        this.SelectedIndex = RowIndex;
        }
    private void Load_RowDblClickEventHandler() {
        string _EventTarget = MyHelper.ToString(this.Page.Request.Params["__EVENTTARGET"]);
        string[] _EventArguments = MyHelper.ToString(this.Page.Request.Params["__EVENTARGUMENT"]).Split('$');
        string _EventName = MyHelper.ToString(_EventArguments[0]);
        if(_EventTarget == this.ID && _EventName == "RowDblClick") {
            int _index = MyHelper.ToInt(_EventArguments[1]);
            this.RowDblClick(this, _index);
            }
        }
    protected override void OnRowDataBound(GridViewRowEventArgs e) {
        GridViewRow _row = e.Row;
        string _index = MyHelper.ToString(_row.RowIndex);
        string _arg = "RowDblClick$" + _index;
        string _evt = this.Page.ClientScript.GetPostBackEventReference(this, _arg); 
        _row.Attributes.Add("ondblclick", _evt);
        }
    }//endclass


没有看懂这个是怎么弄的,麻烦大侠们解释下吧,谢谢
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值