2011-07-05 16 views
3

jQueryで.data()関数を使用して、サーバーから返されたレコードのセットをページのDOM要素に添付しています。レコードはオブジェクトの配列として格納されます。コードは次のとおりです。jQuery DataTablesオブジェクトのクライアント側配列をロードする

//Attached returned data to an HTML table element 
    $('#measTable').data('resultSet', resultSet); 

    //Get stored data from HTML table element 
var results = $('#measTable').data('resultSet'); 

//Construct the measurement table 
data_table = $('#measTable').dataTable({ 
    "bJQueryUI": true, 
    "sPaginationType": "full_numbers", 
    "bProcessing": true, 
    "bDeferRender": true, 
    "aaData": [ results ], 
    "aoColumns": [ 
       { "mDataProp": "Field1" }, 
       { "mDataProp": "Field2" }, 
       { "mDataProp": "Field3" }, 
       { "mDataProp": "Field4" } 
      ] 
}); 

次に、要素からデータをフェッチし、データテーブルにロードします。しかし、これはうまくいかず、常にエラーが返されます。行0のデータソースから不明なパラメータ "Field1"が要求されました。この方法でデータをデータ型にロードすることは可能ですか?

UPDATE:ここ

は、結果オブジェクトの配列のサンプルです

results = 
    0: Object 
     Field1: "2011/04/23" 
     Field2: 8 
     Field3: "Hello" 
     Field4: "World" 
     __proto__: Object 
    1: Object 
     Field1: "2011/03/25" 
     Field2: 6 
     Field3: "Hello" 
     Field4: "Everyone" 
     __proto__: Object 
...etc. 
+0

「結果」の内容を掲載することはできますか? –

+0

こんにちはアダム、ちょうど結果オブジェクト配列のコードスニペットを投稿しました。 – kingrichard2005

+0

DataTablesブログには、[投稿](http://www.datatables.net/blog/Extended_data_source_options_with_DataTables)があります。あなたは1.8を使用していますか?これは以前のバージョンでは間違いなく機能します。 – Seth

答えて

1

まあ、aaDataあなたが彼に配列をフェッチので、もし、配列の配列を期待(それは名前がhungarian notationを使用することを提案しているとして)それが不平を言う理由であるオブジェクトの。

5

DataTablesの開発者であるAllanは、DataTables forumの次の投稿で私の質問に答えることができました。リンクが機能しない場合、この問題は単純な構文エラーであることが判明しました。

"aaData": [ results ],の代わりに"aaData": results,である必要があります。

アラン氏にお手伝いいただきありがとうございます。

0

は、あなたの定義に以下を追加します。

$('#measTable').dataTable({ 
    ... 
    "columns": [ 
     { "data": "field1" }, 
     { "data": "field2" }, 
     { "data": "field3" } 
    ] 
}); 

あなたは配列とテーブルの列と一致する必要があります。

これだけです!

関連する問題