2016-09-22 18 views
0

私の剣道グリッドでレスポンスをバインドする方法はちょっと混乱します。剣道グリッドへのJsonレスポンスのバインド

私は私が角度JS、MVCと剣道を使用しています

enter image description here

下に示すように、グリッド内の応答を表示する必要が

以下

enter image description here

のような応答形式のサービスを取得しますグリッド。

グリッドで自分の応答データを変更するのが最適です。 MVCまたはAngular jsで指定します。

おかげで、私はあなたがグリッドでネイティブにそれを行うことができないと思います

+0

剣道グリッドには、行ごとにキーをグループ化する機能があります。あなたはそれを試すことができます。 – Nilesh

答えて

0

を進めます。しかし、回避策を使用することができます - 必要なビューを表すためにデータを変更します。

私はここで誰かのフィドルを変更:http://jsfiddle.net/SugMK/47/

を使用すると、グループあなたのデータなければならない最初の、あなたがuidのグループにそれをできるようにします例ではuidは、idtitleを決定します。

var result = _.groupBy(result, (item) => { return item.uid }); 

セカンドを

のような構造を持つ結果オブジェクトの反復210
{ 
    uid1: [ 
      {row1_with_uid1}, 
      {row2_with_uid1} 
      ], 
    uid2: [ 
      {row1_with_uid2}, 
      {row2_with_uid2} 
      ] 
} 

カスタムロジックを使用して必要な行を集計するかどうかを指定します。あなたのケースでは、あなたがセパレータとしてbrとテキストとして2つのcodeフィールドを結合する必要があります。

_.forEach(result, (items) => { 
    var newItem = items[0]; // set default. 

    items.splice(0, 1); // since first item is default - remove it from aggregate array 
    _.forEach(items, (item) => { newItem.code = newItem.code + "<br />" + item.code; }); // aggregate item. 

    newResult.push(newItem); // save aggregated item. 
}); 

サードをあなたはない、HTMLとしてあなたbr年代を表現するため、falseに集約されたフィールド(コード)のencodedパラメータを設定する必要がありますテキスト:

{ field: "code", title: "multiline", encoded: false } 

PS私は自分のより良い実現を自分で作ることができると思っていますが、私の考えをよりよく理解するためにこの例を作成します。

0

グリッドのデータソースでデータのグループ化と集計を処理させたい場合は、単にグリッドのデータソースを使用します。下のコードは、剃刀の構文ですが、剣道には同等のものがあります。

DataSource(dataSource => dataSource 
    .Server() 
    .Aggregates(aggregates => 
    { 
     aggregates.Add(p => p.Amount).Sum(); 
    }) 
    .Group(groups => groups.Add(p => p.CustomerName) 
) 
関連する問題