【问题标题】:Get column name of selected row jqGrid获取选定行jqGrid的列名
【发布时间】:2013-02-01 06:12:27
【问题描述】:

有没有办法让我在jqGrid 上获取所选行的列名?例如,在小提琴上:http://jsfiddle.net/5B2Wh/43/

如果我单击内容为“Merge C”的单元格,它将返回“Client”,即它所在的列名。

我尝试使用下面的代码,但它只发送未定义的。

var cm = jQuery("#scrgrid").jqGrid("getGridParam", "colModel");
alert(cm.name);

【问题讨论】:

  • 您写过“选定行的列名”和“如果我单击单元格”。您希望在哪个回调中获得单击列的名称:在onCellSelectbeforeSelectRowonSelectRow 内部?您在 JsFiddle 演示中使用了非常旧的 4.0 版本的 jqGrid。是您必须使用的版本还是可以使用更新的版本,例如当前的 4.4.4 版本?问题是 onSelectRow 在 4.0 版本中具有 less 参数作为当前版本 4.4.4。

标签: jquery jqgrid


【解决方案1】:

colModel 是一个数组,你必须从中选择相关的列。

$("#scrgrid").jqGrid({
    ...
    onCellSelect: function(row, col, content, event) {
        var cm = jQuery("#scrgrid").jqGrid("getGridParam", "colModel");
        alert(cm[col].name);
    }
});

但是,这在您的网格中不起作用,因为您启用了编辑功能,这会禁用选择单元格的功能。

【讨论】:

    【解决方案2】:

    做:

    ...onCellSelect: function(id,cellidx,cellvalue) {  
        var cm = jQuery("#list").jqGrid("getGridParam", "colModel");
        var colNameAttr = cm[cellidx];
        console.log(colNameAttr.name); //gives column name
    }
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-06
      • 1970-01-01
      • 2013-09-01
      • 2015-01-09
      • 2011-10-23
      • 2021-08-25
      • 1970-01-01
      相关资源
      最近更新 更多