我一直在使用jqGrid v4.0并且它运行正常,但是由于我升级到jqGrid v4.4.1,因此FilterTolBar不再显示选择字段。
这是我的代码:
<script type="text/javascript">
$(function() {
var grid = $("#grid_container");
grid.jqGrid({
url:'index.php?getData=xml&',
datatype: "xml",
colNames:['id', 'user','sid', 'Status'],
colModel:[
{name:'id', index:'id', width:150, hidden:true},
{name:'user', index:'user', width:150 , stype:'select', editoptions:{value: "Jhon:Jhon;Adam:Adam"}, searchoptions:{sopt:['cn']}},
{name:'sid', index:'sid', width:65 },
{name:'status', index:'status', width:110 },
],
rowNum:20,
rowList:[10,20,100],
pager:'#grid_pager',
sortname: 'user',
sortorder: 'desc',
height:'100%'
})
.jqGrid('filterToolbar' ,{searchOnEnter : true});
});
感谢您的任何建议。
答案 0 :(得分:0)
当前版本的jqGrid是4.4.4。如果您必须使用旧版本,则不仅可以在value
中添加相同的editoptions
,还可以在searchoptions
中添加filterToolbar
。在使用user
的情况下,建议添加额外的值,空值专门用于搜索。它将不允许过滤色谱柱。因此,{ name: 'user', stype: 'select',
editoptions: { value: "Jhon:Jhon;Adam:Adam" },
searchoptions: { sopt: ['eq'], value: ":Any;Jhon:Jhon;Adam:Adam" } }
列的定义可能如下所示
id
您应该考虑删除隐藏的id
列,因为行的<tr>
属性(网格的id
元素)将根据输入数据的editoptions
属性进行分配如果您正确填写数据(请参阅the documentation)。如果您不使用数据编辑,则可以删除searchoptions
并仅使用"eq"
。我严格建议您使用"cn"
代替"cn"
进行选择。 "a"
的使用不允许您在一个选项中使用"ab"
,"abc"
和"ab"
等选项。如果用户选择"ab"
,则会选择"abc"
和"a"
。如果用户选择"a"
,则会选择树选项"ab"
,"abc"
和gridview: true
。所以jqGrid的工作方式与用户不同。
我建议您在用于提高性能的所有网格中另外添加autoencode: true
。在大多数用例中也需要使用{{1}}。