jqGrid editoption值覆盖selectoption值

时间:2015-06-04 19:41:54

标签: jqgrid

我的jqGrid中有以下列:

{ name: 'Active', 
index: 'Active',
width: '55',
align: 'center', 
formatter: 'select', 
editable: true, 
edittype: "select", 
editoptions: { value: { "1": "Yes", "0": "No" }}, 
stype: 'select', 
searchoptions: { value: { "": "All", "1": "Yes", "0": "No" }} 
},

问题在于,editoption值会覆盖搜索选项值(因此"所有"未显示为搜索工具栏中的选项)。

我正在使用jqGrid 3.5.3。我不允许更新到更高版本。

如果有帮助,这是整个表格声明:

mygrid = jQuery("#GridView").jqGrid({
url: 'Handler.ashx',
datatype: "json",
colNames: ['ID', 'Active Flag'],
colModel: [
    { name: 'ID', index: 'ID', width: '45', formatter: 'integer' },
    { name: 'Active', index: 'Active', width: '55', align: 'center', formatter: 'select', editable: true, edittype: "select", editoptions: { value: { "1": "Yes", "0": "No" }}, stype: 'select', searchoptions: { value: { "": "All", "1": "Yes", "0": "No" }} },
],
rowNum: 50,
height: '403px',
rowList: [5, 10, 20, 50, 100],
 sortname: 'ID',
pager: jQuery('#PageNavigation'),
sortorder: "asc",
viewrecords: true,
caption: "Tasks",
toolbar: [true, "top"],
editurl: 'Handler.ashx'

我还尝试将editoptions和searchoptions设置为具有相同的值(All,Yes,No),然后使用onSelectRow函数更改事后的editoptions,就像这样,但它没有工作:< / p>

onSelectRow: function (id) {
    jQuery('#streamGridView').setColProp('Flag', { editoptions: { value: { "1": "Yes", "0": "No" } });
}

如何修复它以便我可以有不同的编辑和选择值?

谢谢!

1 个答案:

答案 0 :(得分:0)

我偶然发现了档案中jqGrid 3.5.3的来源。 jqGrid的复古版本根本不会从searchoptions.value获得任何值。

我建议您在创建过滤器工具栏后,在选择中手动插入<option value="">All</option> 。相应的代码可能是

$("#gs_Active")
    .prepend("<option value=''>All</option>")
    .val("");

上面的代码将选项"All"添加到列Active上的过滤器工具栏上,然后选择它。