0

「sopt」オプションをコメントアウトすると、filtertoolbar を使用した以下のオプションを含むグリッドが正常に機能しますが、コメントを外したオプションでは機能しませ。私の実際のグリッドでは、すべてのグリッドの外側で cmTemplate が指定されています$.extend($.jgrid.defaults,{})- それでも同じ問題が発生します

$('#Table').jqGrid({
    cmTemplate: {
        searchoptions: {
           // sopt: ['eq', 'ne', 'cn'] //un comment this line then run again and try to use filtere to see the difference
        }
    },
    datatype: 'local',
    data: [{
        Code: 'code1'},
    {
        Code: 'code2'},
    {
        Code: 'code3'}],
    colNames: ['Code'],
    colModel: [{
        name: 'Code',
        index: 'Code'}],
    pager: '#Pager'
}).jqGrid('filterToolbar', {
    searchOnEnter: false,
    defaultSearch: 'cn'
}).trigger('reloadGrid');
4

1 に答える 1

1

コードに問題はありません。設定した場合

cmTemplate: {
    searchoptions: { sopt: ['eq', 'ne', 'cn'] }
}

searchoptions.sopt設定がないすべての列を追加します。ツールバーのフィルタリングでは、列ごとに 1 つの検索操作のみを使用できます。jqGrid は検索に のdefaultSearchパラメーターを使用しますがfilterToolbar、一部の列に対して別の検索操作を行うことができるようにするために、searchoptions.sopt配列の最初の操作から上書きすることができます (たとえば、回答を参照してください)。本当に必要な機能なので、非常に重要です。

したがって、すべてのsearchoptions: { sopt: ['eq', 'ne', 'cn'] }列にオプションを含めると、実質的にtoのオプションが上書きされます。投稿したデモとまったく同じように動作します。defaultSearch: 'cn'filterToolbardefaultSearch: 'eq'

于 2012-06-15T05:37:51.857 に答える