【问题标题】:double clicking a jqgrid row双击 jqgrid 行
【发布时间】:2011-03-15 19:50:57
【问题描述】:

我需要在 jqgrid 行上双击执行一些服务器端代码...... 我尝试在客户端代码上执行此操作,似乎双击事件没有触发......

.....

      $('#grdSearchResults').jqGrid({
            ondblClickRow: function (rowid,iRow,iCol,e) {
                var data = $('#grdSearchResults').getRowData(rowid);

                DoubleClickRow(data);
            }
        });

....

DoubleClickRow 需要使用从该行中提取的数据设置一些隐藏字段,然后需要单击同一页面上的一个按钮来启动服务器端事件...

我正在使用最新的 jqgrid 和 jqjuery 版本...

有谁知道如何做到这一点....顺便说一句,它需要同时在 ie 和 firefox 上工作... 谢谢

【问题讨论】:

    标签: jquery jqgrid-asp.net


    【解决方案1】:

    我认为要通过新的 API 访问 jquery 网格,您必须执行类似的操作,

    jQuery('#grdSearchResults').jqGrid("getRowData",rowid)
    

    您可能想先输入一些警报以确保它正在触发,但请查看您是否在 firebug 中收到 js 错误。

    我假设 DoubleClickRow 会进行某种 ajax 调用...

    【讨论】:

    • 我尝试了上述方法..还尝试发出警报...我认为事件没有触发...也许我需要找到每个选定的行并将 dblclick 绑定到它.. ..不知道我能不能用这个控件做到这一点
    • 也许将您的代码发布到 jqGrid 帮助或邮件列表。我们正在使用 ondblClickRow,它工作正常.....我在您的代码中看不到错误
    【解决方案2】:

    好吧……我尝试了一些不同的方法……我能够解决这个问题……

     function DoubleClickRow(rowid,iRow,iCol,e) {
            var txtLastResearchedDate = $('#txtLastResearchedDate');
            txtLastResearchedDate.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 6);
    
            var txtHiddenID = $('#txtHiddenID');
    
            txtHiddenID.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 5);
            var txtHiddenCaseName = $('#txtHiddenCaseName');
            txtHiddenCaseName.value = rowid;
    
            var txtHiddenCaseNumber = $('#txtHiddenCaseNumber');
            txtHiddenCaseNumber.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 2);
    
            var txtHiddenCaseFiledDate = $('#txtHiddenCaseFiledDate');
            txtHiddenCaseFiledDate.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 3);
    
            var txtHiddenCourtName = $('#txtHiddenCourtName');
            txtHiddenCourtName.value = jQuery('#<%=grdSearchResults.ClientID %>').jqGrid('getCell', rowid, 1);
    
            //alert(txtHiddenCaseFiledDate.value + ' \n ' + txtHiddenCaseName.value + ' \n ' + txtHiddenCaseNumber.value + ' \n ' + txtHiddenCourtName.value + ' \n ' + txtLastResearchedDate.value + ' n\ ' + txtHiddenID.value);
    
            $('#<%=btnSelect.ClientID %>').click();
    
    
        }
    

    所以我将它与代码隐藏本身中的客户端事件联系起来...出于某种原因...使用 html 属性将函数分配给事件给了我运行时 javascript 错误...

    总之问题解决了.... @ctrldot 感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-23
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 2023-04-07
      • 2011-04-24
      相关资源
      最近更新 更多