2017-08-10 21 views
0

jqgridに複数の列がありますが、検索機能は日付列では機能しません。 「2017-03-03 12:12:12」などのストアドプロシージャからデータを取得し、グリッドに表示します。私が "2017"を検索すると、何も表示されません。ここで jqgrid:日付欄に検索ツールバーが正しく機能していない

は、私が "20170908"

・変更SearchToolBarOperationのようにVARCHARにストアドプロシージャを変更し、日時を変換

を試してみました

`<cc1:JQGridColumn 
     DataField="Date" 
     HeaderText="Date" 
     Editable="true" 
     DataType="Datetime" 
     Sortable="true" 
     Searchable="true" 
     SearchToolBarOperation="BeginsWith" 
     Width="140" > 
</cc1:JQGridColumn> 

`

私のコードの一部です。 = "BeginsWith"をSearchToolBarOperation = "Contains"に設定すると、 "2017"のように最初の4つの数字だけを検索できるようになりました。私が "201708"とタイプしたとき、それは動作しませんでした。

・また、「IsEqualTo」「IsGreaterThanしようとした」SearchToolBarOperation上にそれらのどれもが

を働いていない私が行うことができるようにしたいので、私は、このようなとして入力したとき、それは私のデータを表示したい始まり-との一致」 「2017-08」または「2017」または「2017-08-08」となります。

私の質問を読んでくれてどうもありがとう。あなたが私を助けてくれることを願っています。

答えて

0

検索がサーバーで実行される場合は、サーバーで検索コードを微調整する必要があります。 jqGridは操作と文字列をサーバーに送信し、結果を期待します。

問題が発生したことを示すには、コンソールのストアドプロシージャを実行し、結果が表示されたときに日付パラメータをbuild-edとして実行します。これはグリッドと同じにする必要があります。

私は日付フィールドを検索する方法についてのあなたのDBサーバのマニュアルを読み、すべての始まり、同様のコマンドが

+0

適用されるかどうかを確認することをお勧めいたしますが、あなたの情報のためにそんなにありがとう。私はストアドプロシージャでクエリを実行し、結果を得る方法を見た。 「2017/12/12」や「2017/12/12 12:12:12」のような形式では検索できますが、「2017/12」では検索できないことが判明しました。私はその形式でも結果を得ることができるようにしたい。それを可能にする方法はありますか? – momotaro

+0

使用するデータベースによっては、日付フィールドを文字列に変換して検索に使用することができます。 MySQL DBでは、これはPostgresSQlのCAST関数です。これはto_char関数です。変換関数については、SQLのマニュアルを参照してください。 –

関連する問題