我的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" } });
}
如何修复它以便我可以有不同的编辑和选择值?
谢谢!
答案 0 :(得分:0)
我偶然发现了档案中jqGrid 3.5.3的来源。 jqGrid的复古版本根本不会从searchoptions.value
获得任何值。
我建议您在创建过滤器工具栏后,在选择中手动插入<option value="">All</option>
。相应的代码可能是
$("#gs_Active")
.prepend("<option value=''>All</option>")
.val("");
上面的代码将选项"All"
添加到列Active
上的过滤器工具栏上,然后选择它。