1

私はYUIにかなり慣れていないので、助けが必要です。

次のようなJSON応答があります。

{
    "Results":[
        {
            "alpha":57.935,
            "beta:{
                "delta":2.975,
                "omega":1.431
            },
            "gamma":{
                "theta":"0.339",
                "lambda":"1.195"
            }
        },
        {
            "alpha":87,
            "beta":{
                "lambda":2.680,
                "kappa":0.714
            },
            "gamma":{
                "zeta":"0.288",
                "epsilon":"0.289"
            }
        }
    ]
}

ネストされた列を持つデータテーブルが必要です
。1)アルファ、ベータ、ガンマが親列です。
2)ベータ版とガンマ版にはそれぞれJSONキーと値のペアで構成される2つの列があります(たとえば、デルタ=> 2.975)。
3)行数、つまりキーと値のペアの合計は動的です。

基本的に、次のようなものです。

    ----------------------------------------------
    | alpha   |      beta      |       gamma     |
    ----------------------------------------------
    | 57.935  |  delta | 2.975 |   theta | 0.339 |
    ----------------------------------------------
    |         |  omega | 1.431 |  lambda | 1.195 |
    ----------------------------------------------
    | 87.435  | lambda | 2.680 |    zeta | 0.288 |
    ----------------------------------------------
    |         |  kappa | 0.714 | epsilon | 0.289 |
    ----------------------------------------------

ネストされていない単純なJSON応答を生成することができました。

私の問題:
1)各JSON子のオブジェクト({theta:0.339}など)があります。両方の子列には、この同じオブジェクトからのデータが必要です。変更せずに使用するにはどうすればよいですか?myColumnDefsの両方の子列に同じ「keyName」を使用する必要がありますか?
2)alpha tdが空の場所に複数の行を作成するにはどうすればよいですか?

どんな助けでもありがたいです!

4

1 に答える 1

1

これは簡単に解決できる問題ではありません。JSONをクライアントに送信する前に個々の行にフォーマットする機能がなければ、いくつかの列構成、フォーマッター、および表示用のデータをフラット化するカスタムbodyViewmodelList属性セッターを使用してソリューションをハックする ことができます。http://jsbin.com/3/efigim/1/edit?javascript,live

bodyViewのmodelListには、clientIdを共有するのではなく、行の独自のモデルが含まれているため、これには、テーブル行->データレコードの関連付けの破損が含まれる可能性があります。追加機能が必要かどうかによって、これが邪魔になる場合と邪魔にならない場合があります。

ただし、DataTableのデータModelListは、ベータ値とガンマ値のオブジェクトを保持するため(ビューの表現のみがカスタマイズされます)、問題ない場合があります。

YMMV、HTH

于 2012-06-15T02:08:04.330 に答える