formatter选择不适用于带有jqGrid-v4.4.1的FilterToolBar

时间:2013-02-13 13:22:18

标签: jquery jqgrid

我一直在使用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});

});

感谢您的任何建议。

1 个答案:

答案 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}}。