質問

を使用してい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>    

簡単な方法を使用します:

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/する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top