2

まず、私は初心者の開発者です。HTMLserviceを使用し、フォームデータを取得してScriptDBに保存し、DBにクエリを実行してテーブルに表示する、基本的なGoogleAppsScriptアプリを作成しようとしています。ログには保存されているオブジェクトが表示されるため、フォームは正常に機能しています。ただし、DB全体をクエリしようとすると、1つの結果しか返されません。これがhtmlです:

関数queryResponse(responseObj){

 $.each(responseObj, function(key, value) {
   $("#records").append(key + ': ' + value + "<br>");
}); 

}

スクリプトは次のとおりです。

関数dumpData(){

var results = db.query({});
 while (results.hasNext()) {
 var result = results.next();
 }
 Logger.log(result);
 return result;

}

私の2番目の質問は、DB全体が照会されたら、テーブルに表示することは可能ですか?任意の情報をいただければ幸いです。よろしく、マーク

4

2 に答える 2

3

最初の質問に答えるために、apps-script関数は、のすべてのコンテンツを調べて、ScriptDBすべての値を1つのに書き込みますresult。ループが完了すると、最終結果(つまり、によって返されたLASTオブジェクト)が返されdb.query({})ます。一つだけです。

Arrayこれは、すべてのオブジェクトを含むものを返す変更されたバージョンです。

function dumpData() {

  var results = db.query({});
  var result = [];
  while (results.hasNext()) {
    result.push (results.next());
  }
  Logger.log(result);
  return result;
}

テーブルの作成

さて、2番目の質問について。

チャートサービスの概要については、チャートダッシュボードの構築チュートリアルをご覧ください。完全なダッシュボード(同じ基になるデータを持つ複数のグラフ)には興味がないかもしれません。むしろ、単一のTableChartを作成しようとしていますが、チュートリアルではそれについて説明しています。

apps-scriptを使用している場合は、TableChartを作成するdoGet()関数を使用してUiAppを作成します。データソースにデータを入力するには、を作成しnewDataTable()、「キー」とそのタイプに従って列見出しを追加してから、関連する「値」を含む行を追加します。その後、グラフを作成し、データをグラフにバインドして、UiAppに添付します。

実際のデータの説明がなければ、それは私が提供できるすべてのガイダンスについてです。

于 2013-03-25T19:52:13.283 に答える
1

UiAppではなくHTMLServiceソリューションを求めたように、UiAppを使用したMogsdadのアプローチは役に立ちません。テンプレートファイルを使用してテーブルを直接生成できます(上記の私のコメントに従ってください)。ただし、より大きなアプリケーションの一部としてテーブルで処理(行の選択、並べ替えなど)を実行する場合は、jQueryDataTableの使用を検討してください。簡単な例をここに示します

于 2013-03-25T21:51:36.657 に答える