問題の分別日jquery tablesorter
-
11-09-2019 - |
質問
を使用していtablesorterプラグインソマテーブルにMVC.NETアプリです。自分のカラムは文字列と思を有しない問題です。ものの数値です。このことが私のdatetimeカラムをもってソートされた文字列です。なぜこのように:01/04/2009,02/02/2009,03/08/2009。を入手したいデータからのモデルとビュー。
私の話はデフォルト:
$("#table").tablesorter();
また指定dateformatのない運:
$("#table").tablesorter({
dateFormat: 'dd/mm/yyyy'});
そのようなことが起きた時に手動型静的テーブルをランダムです。でソート!私のデータからDB電話を入れ、モデルとしてitreateで書trののデータです。
よろしくお願いします。
編集:が入っているのか、それとも何かの本当に嬉しかったのtrのでしょうか。
<% foreach (var item in Model) { %>
<tr>
<td>
<%= Html.Encode(item.date) %>
</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<% } %>
解決
あなたの日付列にTablesorterパーサーを追加してみてください。 TablesorterはshortDate、usLongDateとisoDateのためのパーサが付属しています。
$("#table").tablesorter({
headers: { colNum: { sorter: 'shortDate'} }
});
colNum引数は、日付を持つ列です。私はtablesorterサイト上で見つけることができる唯一の例では、ここをです。 tablesorterは同様に間違った番号をソートされた場合にも動作します。他のパーサと同様のパーセント、IPアドレスとよりがあります。ソースコードの終わり近くを見て、彼らはそこに表示されます。
の編集を ソースコードを見ると、DATEFORMATオプションは、「私たち」、「英国」、「DD / MM / YY」または「DD-MM-YY」を探しているように見えます。あなたは「英国」をしようとするとどうなりますか?
他のヒント
私は同じ問題を抱えて、私は日時と呼ばれるカスタム・パーサーを追加しました
$.tablesorter.addParser({
id: "datetime",
is: function(s) {
return false;
},
format: function(s,table) {
s = s.replace(/\-/g,"/");
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1");
return $.tablesorter.formatFloat(new Date(s).getTime());
},
type: "numeric"
});
次に、あなたはちょうどあなたが次のことを行う必要があり、最初の列に、このソーターを割り当てるために例えば(ゲイブGとして公開され、あなたがしたい列にそのフォーマットを適用する必要があります:
$("#mytable").tablesorter(
{ dateFormat: 'dd/mm/yyyy',
headers:
{
0:{sorter:'datetime'}
}
} );
また、数値形式(YYYYMMDD)で、あなたの日前に隠されたspanタグを追加することができます。このテキストは最初に来ると、ソートに使用することが、それは視界から隠され、唯一の希望の形式が表示されます。
<td><span style="display:none">20130923</span>23 September 2013</td>
jqueryのtablesorterプラグインのアップデートが存在してます。
、アプリケーションのロケールによると、この更新プログラムによって日付を並べ替えることができます。
あなたは下のリンクをたどることにより、tablesorterの更新を表示することができます。
簡単な方法を使用します:
dateFormat:'mm/dd/yyyy hh:mm:ss'
正直、最も単純な解決だったことを今でも覚えていてcompsmartとを隠しテキストの前の日です。
- dateFormat:'html' なんか私の日付フォーマットが異なる
- http://tablesorter.openwerk.de/ は変更にCSSをしたいのか、第二は、努力などが有名ですが、これらを簡単に追加隠しテキストの前の日です。
思いつまでも愛していただけるシン溶液からcompsmart!
http://mottie.github.io/tablesorter/docs/
日付表示形式を設定します。このオプションを提供しています。修正.phpがv2で増えたファイルです。0になります。23).
- "mmddyyyy"(デフォルト)
- "ddmmyyyy"
- "yyyymmdd"
以前のバージョンでは、このオプションとして"く","html"や"dd/mm/yy".このオプションを変更するためには、どのような必要な日付フォーマット.まだ仕事と桁の年!
のソーターに設定することが望"shortDate"の日付フォーマットをセットできる"dateFormat"にオプション設定のための特定のカラム内の"ヘッダ"のオプションです。のデモページです。
$(function(){
$("table").tablesorter({
dateFormat : "mmddyyyy", // default date format
// or to change the format for specific columns,
// add the dateFormat to the headers option:
headers: {
0: { sorter: "shortDate" }, // "shortDate" with the default dateFormat above
1: { sorter: "shortDate", dateFormat: "ddmmyyyy" }, // day first format
2: { sorter: "shortDate", dateFormat: "yyyymmdd" } // year first format
}
});
});
個々のカラムによって変わりますので追加で以下の(彼らはすべて同じ設定に優先順位の修正.phpがv2で増えたファイルです。3.1):
- jQueryデータデータ-dateFormat="mmddyyyy".
- メタデータclass="{dateFormat:'mmddyyyy'}".このメタデータの引き出しおよび設定ができます
- ヘッダーオプションヘッダ:{0:{dateFormat:'mmddyyyy'}}.
- ヘッダークラス名class="dateFormat-mmddyyyy".全体のdateFormatオプションです。
私の場合は使用し
$("#myTable").tablesorter({dateFormat: "uk"})
のためのバージョン。
これは私のための答えだっます:
<td data-order=<fmt:formatDate pattern = "yyyy-MM-dd" value = "${myObject.myDate}" />>${myObject.myDate}</td>
の詳細は、こちら: https://datatables.net/manual/data/する