複数のリクエストが列データを集約していると思います。また、テーブルが静的であると想定しています(サーバー側のページングやソートではありません)。
- すべてのソースからのすべての列を含めるように DataTable の列定義を設定します。
- 最速のクエリのサービス URL を指す DataSource を作成します。
- その DataSource で DataTable をインスタンス化します。
- 他のサービス用にさらに DataSource を作成するか、他のサービスごとに YAHOO.util.Connect.asyncRequest(...) を呼び出します。
- これらの各サービス リクエストのコールバックは、次の行に沿って何かを行う必要があります。
(疑似コード先)
function callback(data) {
var recordset = myDataTable.getRecordSet(),
records = recordset.getRecords(),
i, len, rec;
for (i = 0, len = records.length; i < len; ++i) {
rec = records[i].getData(); // will return an object literal with data info
/* match the record object to the new data and update the record object */
}
recordset.setRecords(records);
myDataTable.render();
}
そのため、追加のサービスごとにレコード レベルでデータが追加され、テーブル全体の UI が更新されます。
HTH