2016-10-11 8 views
0

日付とユーロ値の列を正しく書式設定するために必要な2つのフォーマッタを持つJQuery Bootgridがあります(行には日付を文字列としてYYYYMMDD形式で格納して列を取得します)テーブル出力が日付フォーマットDD/MM/YYYYの間にユーザーがその列の注文を選択した場合、正しく表示されます。 JQuery Bootgridの機能は、フォーマットされた値ではなく、元の値を検索しますが、ユーザーにフォーマットされた値を検索する必要があります。JQuery Bootgridでフォーマット済みの列が見つかりません

答えて

1

データソースから作業している場合は、バックエンドからの検索をいつでも正規化できます(つまり、 jsonプロバイダ)。

既存のテーブルを拡張する - ウェルでは、Grid.prototype.searchが関数です。

1

私は同様の問題に直面していました。検索では、フォーマットされたデータではなく元のデータを見ていましたが、ソートには元のデータが必要でした。

フォーマットされた列にdata-searchable="false"を設定して、自分でフォーマットした日付の新しい列を追加しました。この新しい列はdata-visible="false"に設定されました。ソースも少し変更する必要がありますので、

<table> 
    <thead> 
     <tr> 
      <th data-column-id="date" data-formatter="dateNoTimeFormat" data-searchable="false">Report Date</th> 
      <th data-column-id="formattedDate" data-visible="false"></th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td><?php echo $reportDate; ?></td> 
      <td><?php echo date('d/m/Y', strtotime($reportDate)); ?></td> 
     </tr> 
    </tbody> 
</table> 

デフォルトでは、bootgrid検索は非表示列が含まれていません:テーブル構造は、の線に沿って何かでした。また、非表示に設定された列を見ていきます検索を意味し、コードから削除する

if (column.searchable && column.visible && 
    column.converter.to(row[column.id]).search(searchPattern) > -1) 
{ 
    return true; 
} 

&& column.visibleニーズ、:if文の読み取りを持ってjquery.bootgrid.js関数containsPhrase(row)(V1.3.1でのライン172)があります。

+0

ありがとうございました!私は別のアプローチを使用して時間を前に解決しましたが、今はどのように覚えていません。 :) – 1Garrett2010

+0

@ 1Garrett2010問題はない、私はしばらく探していたので、何かを見つけることができなかったので、将来他の誰かを助けるためにそこに置くと思った! :) – crazyloonybin

関連する問題