jqGrid:始终显示选择的可编辑列

时间:2010-06-07 16:27:17

标签: jquery jqgrid

jqgrid中是否有一种方法可以使用像此colModel示例中的select一样的可编辑列:

{ 
name: 'Options', 
index: 'Options', 
width: 150, 
align: 'left', 
resizable: false,
editable: true, 
edittype: 'select', 
editoptions: { 
    value: function() { return buildSelect(); } 
},
formatter: 'select'
}

但始终显示选择?

我之前已经使用了复选框,但似乎没有一种方法可以使用选择。理想情况下,我希望这可以在celledit模式下工作。有什么想法吗?

1 个答案:

答案 0 :(得分:4)

一切皆有可能。我不确定,你想要的是最好的方式。在大多数情况下,我建议使用一些标准方式,然后您的实时将更容易,特别是在更改为您使用的新版本的控件之后。

尽管如此,您可以使用自定义格式化程序(请参阅http://www.trirand.com/jqgridwiki/doku.php?id=wiki:custom_formatter)而不是formatter: 'select'来显示列的包含方式。例如,

{ name: 'Options', width: 150, align: 'left', editable: true, edittype: 'select',
  editoptions: { 
    value: function() { return buildSelect(); } 
  },
  formatter: function (cellvalue, options, rowObject, action) {
    if (cellvalue === 'Yes') {
      return '<select><option value="1" selected="selected">Yes</option>' +
                     '<option value="0">No</option></select>';
    } else {
      return '<select><option value="1">Yes</option>' +
                    '<option value="0" selected="selected">No</option></select>';
    }
  }
}

可用于显示带有“是”和“否”值的select,而不是默认的一个当前值(“是”或“否”)。您还可以为这些change元素的select句柄绑定一些函数。