在Kendo UI排行榜网格中指明关系

时间:2013-02-19 18:20:15

标签: kendo-ui kendo-grid

我正在使用Kendo UI Grid为比赛创建记分牌。我的DataSource从数据库中收到团队名称及其相关排名的列表。因此,每个JSON对象都包含一个团队名称和该团队的排名。排名是简单的整数。

为了举例,假设有四支球队,他们各自的排名分别为1,2,3和3.换句话说,两支球队并列第三名。以下是我对Kendo UI Grid的要求:

  • 提供的关系排名应该在排名前面有一个“T”。我写了一些Javascript来完成这个:http://jsfiddle.net/mwassmer/4FXdc/
  • 网格中的排名列应该是可排序的。因此,我假设网格列的“field”属性必须引用DataSource中的原始排名列,而不是标记与“T”关联的排名的“表示”版本。

我认为我需要使用列模板来合并我的Javascript“tie”代码,但我不确定如何去做。我之前已成功使用过列模板,但不是这样。

用于为关系添加“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>");
        }            
    });
});

1 个答案:

答案 0 :(得分:0)

我真的很容易为专栏做模板工作:

template:"T#= ++nameOfTheFieldd #"

Here是一个可以玩的链接。