GridView既强大又好用。为了让它更强大、更好用,我们来写一个继承自GridView的控件。
[索引页]
[×××]


扩展GridView控件(6) - 响应行的单击事件和双击事件


作者:webabcd

扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView/*正式版的实现 开始*/
 
介绍
扩展GridView控件:
响应行的单击事件和双击事件,并在服务端处理

使用方法(设置属性):
BoundRowClickCommandName - 行的单击事件需要绑定的CommandName
BoundRowDoubleClickCommandName - 行的双击事件需要绑定的CommandName


关键代码
单击
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Collections.Generic;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Text;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Web.UI.WebControls;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Web.UI;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewnamespace YYControls.SmartGridViewFunction
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView{
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// 扩展功能:响应行的单击事件
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        public class RowClickFunction : ExtendFunction
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                List<string> _rowClickButtonUniqueIdList = new List<string>();
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 构造函数
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                public RowClickFunction()
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        : base()
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 构造函数
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="sgv">SmartGridView对象</param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                public RowClickFunction(SmartGridView sgv)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        : base(sgv)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 扩展功能的实现
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                protected override void Execute()
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        this._sgv.RowDataBoundCell += new SmartGridView.RowDataBoundCellHandler(_sgv_RowDataBoundCell);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        this._sgv.RenderBegin += new SmartGridView.RenderBeginHandler(_sgv_RenderBegin);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// RowDataBoundCell
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="sender"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="gvtc"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                void _sgv_RowDataBoundCell(object sender, GridViewTableCell gvtc)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        TableCell tc = gvtc.TableCell;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        foreach (Control c in tc.Controls)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                IButtonControl ibc = c as IButtonControl;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                if (ibc != null && this._sgv.BoundRowClickCommandName == ibc.CommandName)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        // 300毫秒后响应单击事件的脚本(避免和双击事件冲突)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        string js = this._sgv.Page.ClientScript.GetPostBackClientHyperlink(c, "");
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        js = js.Insert(11, "setTimeout(\"");
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        js += "\", 300)";
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        GridViewRow gvr = tc.Parent as GridViewRow;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        Helper.Common.SetAttribute(gvr, "onclick", js, AttributeValuePosition.Last);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        _rowClickButtonUniqueIdList.Add(c.UniqueID);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// RenderBegin
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="sender"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="writer"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                void _sgv_RenderBegin(object sender, HtmlTextWriter writer)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        foreach (string uniqueId in this._rowClickButtonUniqueIdList)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                // 注册回发或回调数据以进行验证
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                this._sgv.Page.ClientScript.RegisterForEventValidation(uniqueId);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView}
 
双击
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Collections.Generic;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Text;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Web.UI.WebControls;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Web.UI;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewnamespace YYControls.SmartGridViewFunction
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView{
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// 扩展功能:响应行的双击事件
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        public class RowDoubleClickFunction : ExtendFunction
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                List<string> _rowDoubleClickButtonUniqueIdList = new List<string>();
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 构造函数
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                public RowDoubleClickFunction()
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        : base()
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 构造函数
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="sgv">SmartGridView对象</param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                public RowDoubleClickFunction(SmartGridView sgv)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        : base(sgv)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 扩展功能的实现
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                protected override void Execute()
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        this._sgv.RowDataBoundCell += new SmartGridView.RowDataBoundCellHandler(_sgv_RowDataBoundCell);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        this._sgv.RenderBegin += new SmartGridView.RenderBeginHandler(_sgv_RenderBegin);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// RowDataBoundCell
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="sender"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="gvtc"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                void _sgv_RowDataBoundCell(object sender, GridViewTableCell gvtc)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        TableCell tc = gvtc.TableCell;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        foreach (Control c in tc.Controls)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                IButtonControl ibc = c as IButtonControl;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                if (ibc != null && this._sgv.BoundRowDoubleClickCommandName == ibc.CommandName)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        // 响应双击事件的脚本
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        string js = this._sgv.Page.ClientScript.GetPostBackClientHyperlink(c, "");
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        GridViewRow gvr = tc.Parent as GridViewRow;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        Helper.Common.SetAttribute(gvr, "ondblclick", js, AttributeValuePosition.Last);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                        _rowDoubleClickButtonUniqueIdList.Add(c.UniqueID);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// RenderBegin
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="sender"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <param name="writer"></param>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                void _sgv_RenderBegin(object sender, HtmlTextWriter writer)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        foreach (string uniqueId in this._rowDoubleClickButtonUniqueIdList)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                // 注册回发或回调数据以进行验证
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                this._sgv.Page.ClientScript.RegisterForEventValidation(uniqueId);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView}
 
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView/*正式版的实现 结束*/
 
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView/*测试版的实现 开始*/
 
介绍
为了让GridView的数据行可以响应鼠标的单击和双击事件,一般我们会在GridView的RowDataBound事件中给<tr>加上客户端代码,为了简化这个步骤,我们来扩展一下它。


控件开发
1、新建一个继承自GridView的类。
/// <summary>
/// 继承自GridView
/// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView[ToolboxData(@"<{0}:SmartGridView runat='server'></{0}:SmartGridView>")]
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewpublic class SmartGridView : GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView{
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView}
 
2、加两个属性,分别是单击行事件所对应的按钮的ID和双击行事件所对应的按钮的ID
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView private string _rowClickButtonID;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 单击行事件所对应的按钮的ID
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                [Description("单击行事件所对应的按钮的ID"), DefaultValue(""), Category("扩展")]
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                public virtual string RowClickButtonID
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        get { return _rowClickButtonID; }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        set { _rowClickButtonID = value; }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                private string _rowDoubleClickButtonID;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// 双击行事件所对应的按钮的ID
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                [Description("双击行事件所对应的按钮的ID"), DefaultValue(""), Category("扩展")]
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                public virtual string RowDoubleClickButtonID
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        get { return _rowDoubleClickButtonID; }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        set { _rowDoubleClickButtonID = value; }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
 
3、新建一个JavaScriptConstant类,把我们要用到的javascript存在一个常量里
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Collections.Generic;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewusing System.Text;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridViewnamespace YYControls.SmartGridView
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView{
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// <summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// javascript
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        /// </summary>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        public class JavaScriptConstant
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                internal const string jsClickAndDoubleClick = @"<script type=""text/javascript"">
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                //<![CDATA[
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                var isDoubleClick = false;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                function yy_RowClick(id)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        setTimeout(""yy_RowClickTimeout('""+id+""')"", 300);
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                function yy_RowClickTimeout(id)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        if (isDoubleClick == false)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                // 执行ID所指按钮的click事件
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                document.getElementById(id).click();
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        isDoubleClick = true;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                function yy_RowDoubleClick(id)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        if (isDoubleClick == true)
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        {
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                // 执行ID所指按钮的click事件
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                                document.getElementById(id).click();
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                        isDoubleClick = true;
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                //]]>
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView                </script>";
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView        }
扩展GridView控件(6) - 响应行的单击事件和双击事件_GridView}