我有一个带有高级过滤器的jqGrid 4.3.1。一些布尔类型的列如Yes/No types,当创建一个新的高级过滤器行时选择列类型时,我会显示一个下拉列表。 例如说第2列是IsActive(布尔)类型,当选择这个时,我显示了一个下拉菜单而不是文本框。 将覆盖jqGrid的先进过滤器的代码如下:jqGrid高级搜索对话框 - 具有下拉选择的列
var cols = grid.jqGrid("getGridParam", "colModel");
for (var i = 0; i < cols.length; i++) {
if (cols[i].stype && cols[i].stype == "select" && cols[i].searchoptions && cols[i].searchoptions.buildSelect && $.isFunction(cols[i].searchoptions.buildSelect)
&& !cols[i].searchoptions.dataUrl && !cols[i].searchoptions.value) {
cols[i].searchoptions.value = cols[i].searchoptions.buildSelect(null);
}
该代码使用4.3版本(4.3.1前一个版本),以做工精细 不知道是什么原因造成的问题,但现在我的下拉菜单显示为空白。 任何帮助表示赞赏!
感谢您的回答。我已经添加了一个新的问题,我真的很挣扎..http://stackoverflow.com/questions/10579864/jqgrid-column-selector-inline-rather-than-in-dialog – chugh97
我的构建选择函数映射到一个函数其中有以下实现返回“:所有;真:真;假:假”;; – chugh97
@ chugh97:哪种感觉必须从服务器获取静态数据(来自URL'dataUrl'),然后将其转换为带有静态值的选择?此外,'buildSelect'必须产生HTML片段''而不是字符串'':All; true:True; false:False“ '用作'value'属性的值。搜索对话框中':All;'的用法也不好。一切似乎都很奇怪...... – Oleg