0

Kendo UI Grid を使用して、競技用のスコアボードを作成しています。My DataSource は、チーム名とそれに関連するランキングのリストをデータベースから受け取ります。したがって、各 JSON オブジェクトには、チーム名とそのチームのランキングが含まれます。ランキングは単純な整数です。

例として、4 つのチームがあり、それぞれの順位が 1、2、3、3 であるとします。つまり、2 つのチームが 3 位で並んでいます。Kendo UI グリッドの私の要件は次のとおりです。

  • 同順位の提示されたランキングには、ランキングの前に「T」が必要です。これを達成するためにいくつかのJavascriptを書きました: http://jsfiddle.net/mwassmer/4FXdc/
  • グリッドのランキング列は並べ替え可能である必要があります。したがって、グリッド列の「フィールド」プロパティは、「T」との関係を示すランキングの「プレゼンテーション」バージョンではなく、DataSource の元のランキング列を参照する必要があると想定しています。

Javascript の「関係」コードを組み込むには、列テンプレートを使用する必要があると思いますが、その方法がわかりません。以前に列テンプレートをうまく使用したことがありますが、これは好きではありません。

タイの「T」インジケーターを追加するためのデモ Javascript コードを以下に示します。グリッド列テンプレートが最適であると仮定すると、このコードをテンプレートに組み込む方法について混乱しています。

$(function () {
    var ranks = [1,2,3,3];    
    var counts = {};
    for(var i = 0; i< ranks.length; i++) {
        var num = ranks[i];
        counts[num] = counts[num] ? counts[num]+1 : 1;
    }

    $.each(ranks, function(index, value) {
        if (counts[value] == 1)
        {
            $("#ranksTies").append("<li>" + value + "</li>");
        }
        else
        {
            $("#ranksTies").append("<li>T" + value + "</li>");
        }            
    });
});
4

1 に答える 1

0

列の非常に簡単なテンプレートで作業を行う必要があります。

template:"T#= ++nameOfTheFieldd #"

ここに遊ぶためのリンクがあります。

于 2013-02-19T19:49:11.027 に答える