我有一个完全填充在本地的jqgrid。我在网格中也有一个select元素。生成如下所示
{ name: 'sparkline', width: 200, editable: true, edittype: 'select', formatter: 'select', editoptions: { value: sparklinedropdownstring }, classes: "extracellpadding" }
变量' sparklinedropdownstring'是一个字符串,与http://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules
中的示例类似" value:label; value1:label1; value2:label2; value4:label5;" .... etc etc
现在每当我使用搜索栏或排序它总是根据值而不是标签进行排序或搜索时,我想知道我是否可以通过标签进行搜索?有几次价值与标签没有多少共同之处,普通用户会搜索标签而不是程序员的价值。
我的搜索和排序工具栏的设置如下:
myGrid.jqGrid('navGrid', '#mypager', { edit: false, add: false, del: false, search: false });
myGrid.jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" });
答案 0 :(得分:2)
如果您将formatter: "select"
与"value:label;value1:label1;value2:label2;value4:label5;"
一起使用,则只有value
,value1
,value2
等在您的输入数据中。所以jqGrid按值排序和搜索。
如果需要按另一个值排序,则可以使用sorttype
作为功能。它允许将网格中的值替换为其他值,这些值将在排序期间使用,而不是列中的原始值。
要在formatter: "select"
列中搜索一般使用stype: "select"
和searchoptions: {sopt: ["eq", "ne"], value: ":All;" + sparklinedropdownstring }
的列(searchoptions.value
将与editoptions.value
或{{1}相同}})。结果,用户在过滤器工具栏中看到formatoptions.value
具有相同的文本。因此用户没有其他可能选择文本选项。需要<select>
中的附加项":All;"
以允许用户删除列中的过滤器并显示所有未过滤的项目(“全部”是文本和空字符串“”是的值是选择相应的选项。