0

JSON で作成した配列を別の配列の中に入れ子にして、jQuery Datatables ライブラリの適切なフォーマットにする必要があります。

これが私の現在のコードです:

$.ajax({
    url: uMtbls,
    dataType: 'json',
    success: function(jMtbl) {
        $.each(jMtbl, function(i, item) {
            mAll = jMtbl[i];
            mOwn = jMtbl[i].OrigOwner;
            mPub = jMtbl[i].PublicationTblNm;
            mTbl = jMtbl[i].TableId;
            mMig = jMtbl[i].MigrationFreq;
            mGTYPE = jMtbl[i].GTYPE;
            exec();

        });

        oTable = $('#dtManaged').dataTable({
            "bStateSave": true,
            "bProcessing": true,
            "bServerSide": true,
            "aaData": jReform,
            "aoColumns": [{
                "sName": mOwn,
                "sTitle": "Original Owner",
                "sWidth": "10%"
            }, {
                "sName": mPub,
                "sTitle": "Table Name"
            }, {
                "sName": mTbl,
                "sTitle": "ID"
            }, {
                "sName": mMig,
                "sTitle": "Migration Frequency"
            }, {
                "sName": mGTYPE,
                "sTitle": "Oracle Gtype"
            }],
            "sPaginationType": "full_numbers",
            "iDisplayLength": 25,
            "aLengthMenu": [
                [25, 50, 100, -1],
                [25, 50, 100, "All"]
            ]
        });
    }
});

function exec() {
    jBld = mOwn + "," + mPub + "," + mTbl + "," + mMig + "," + mGTYPE;
    //console.debug("[" + mOwn + "," + mTbl + "]");
    jReform = jBld.split(",");
    console.debug(jReform);
}​

出力は次のようになります (console.debug にキャプチャされます)。

["text","text","text","text","text"]
["text","text","text","text","text"]

サンプルは次のようになります。

{ "aaData": [
  [ 10126, 10002253, 415 ]
]}
4

1 に答える 1

1

を使用しArray.pushます。そして、varステートメントを利用すると、大量のグローバル変数が作成されます。

var aaData = [];
$.each(jMtbl, function (i, item) {
  aaData.push([
    item.OrigOwner,
    item.PublicationTblNm,
    item.TableId,
    item.MigrationFreq,
    item.GTYPE
  ]);
});

oTable = $('#dtManaged').dataTable({
  ...
  "aaData": aaData,
  ...
});

(注: リンクは表示用ではありません。よく読んでください。)

于 2012-12-04T20:44:57.800 に答える