62,046
社区成员
发帖
与我相关
我的任务
分享
[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