2017-03-20 1 views
1

私は今、searchOperatorsを持つ列でjqGrid(バージョン:jqGrid 4.14.1-pre、free jqGrid)を使用しています。jqGrid searchOperatorは、ツールバーをクリアした後に誤った演算子を表示します。

ツールバーをクリアすると問題が発生します。私のデフォルトの演算子は "< =(それ以下)"です。私は演算子をotherに変更し、カラムのxボタンまたはnavGridの更新ボタンでツールバーをクリアすると、searchOperatorは前に選択したものを表示しますが、デフォルト値の "< ="としてフィルタリングします。ドロップダウンポップアップを表示するために演算子をクリックすると、ディスプレイが下の図のように異なる演算子であっても、デフォルト値が強調表示されます。私が参照さ、それは私の場合とは異なり、デフォルト値にリセットされません

capture

This is demo。しかし私はそれと私との間に特別な違いは見つけられませんでした。私はclearToolbar()が見つかりましたが、それはテキストボックスの値をリセットするだけだと思われます。

クリア後にどのような演算子が残っているか気にしませんが、必要なものだけが正しいものを表示しています。手伝っていただけませんか?

グリッドとツールバーのコードは次のとおりです。

tbLockedPartiesHistoryArea.jqGrid({ 
     url: '/LockedObjects/GetLockedParties', 
     datatype: "json", 
     contentType: "application/json; charset-utf-8", 
     mtype: 'GET', 
     emptyrecords: "There is no locked parties currently.", 
     colModel: [ 
      {label: 'LockedBy',  name: 'LockedBy',  sorttype: 'text', searchoptions: {clearSearch: true}}, 
      {label: 'LockedDate', name: 'LockedDate', sorttype: 'date', searchoptions: {clearSearch: true}, 
        sortable: true, 
        resizable: false, 
        hidden: false, 
        search: true, 
        formatter: 'date', 
        formatoptions: {srcformat: 'm/d/Y h:i:s A', newformat: 'm/d/Y h:i:s A'}, 
        searchrules: {date: true}, 
        searchoptions: { 
         sopt: ["dle", "deq", "ge"], 
         dataInit: function (element) { 
            var self = this; 
            $(element).datepicker({ 
             dateFormat: 'mm/dd/yy', 
             changeYear: true, 
             changeMonth: true, 
             showButtonPanel: true, 
             onSelect: function() { 
             setTimeout(function() { 
              self.triggerToolbar(); 
              }, 0); 
             } 
            }); 
           } 
       } 
      }], 
     rowNum: 20, 
     rowList: [20, 30, 50], 
     prmNames: { 
      page: 'defaultPageNumber', 
      rows: 'rowsPerPage' 
     }, 
     customSortOperations: { 
      deq: {}, //I will just cut this since the code gets too long 
      dle: {}, 
     }, 
     forceClientSorting: true, 
     rownumbers: true, 
     viewrecords: true, 
     loadonce: true, 
     multiselect: true, 
     multiPageSelection: false, 
     pager: true, 
     searching: { 
      searchOperators: true, 
      defaultSearch: 'cn', 
      closeOnEscape: true, 
      searchOnEnter: false, 
      multipleSearch: true 
     } 
    }); 

    tbLockedPartiesHistoryArea.jqGrid('filterToolbar', { 
     ignoreCase: true, 
     searchOperators: true, 
     enableClear: false 
    }); 
    tbLockedPartiesHistoryArea.jqGrid('navGrid', { 
     edit: false, 
     add: false, 
     del: false, 
     refresh: true, 
     refreshtext: "Clear Filter", 
     refreshtitle: "Clear Filter" 
    }); 

}; 

答えて

1

バグレポートありがとうございました!問題は、customSortOperationshereと記載)の場合に存在します。

私は今すぐthe commitを投稿しました。無料のjqGridの最新ソースをGitHubから入手してください。問題は今解決する必要があります。

+0

こんにちは、@Oleg!私は重複した質問をしたかどうか心配していましたが、私の質問が役に立ちましたら私の喜びです。バグが修正され、グリッドが完全に動作します。ありがとう、良い一日を! :) – pebble

+0

@pebble:あなたは大歓迎です!新しい問題(重複なし)が修正されました。良い一日を過ごしてください! – Oleg

関連する問題