0

これを検索してみましたが、ここで同様の質問は見つかりませんでした。

私はおそらく明らかな何かを見逃しています-私は本当に私が学んだことのないプログラミングのことをするように頼まれるウェブデザイナーです...

基本的に、ユーザー選択クエリは完全に機能しています。http://umbc.edu/_bwtech/api2.htmlを参照してください。

ただし、ページが最初に読み込まれると、すべてのテーブル列が読み込まれますが、最初の列のみを取得する必要があります。

http://umbc.edu/_bwtech/api6.htmlここで機能していると思いましたが 、ユーザークエリが機能しなくなりました。

ユーザーが選択したクエリのテーブル全体のデータへのアクセスを失うことなく、1つの列だけを描画するにはどうすればよいですか?

ここにコードをコピーした方が簡単な場合は、お知らせください。

4

1 に答える 1

0

私はそれを考え出した!

配置を移動する必要がありました:

// クエリ言語ステートメントを適用します。query.setQuery('SELECT A');

sendAndDraw 関数から。

最終的な JS は次のとおりです。

var isFirstTime = true;
var options = {'showRowNumber': true};
var data;
var queryInput;

// To see the data that this visualization uses, browse to
// http://spreadsheets.google.com/pub?key=rYQm6lTXPH8dHA6XGhJVFsA
var query = new google.visualization.Query(
    'https://docs.google.com/a/umbc.edu/spreadsheet/ccc?key=0Akd-rqu1ZR70dDYxUEtFdGVadENqN09kT01pdklRbXc&pli=1#gid=0');

 // Apply query language statement.
query.setQuery('SELECT A');

function sendAndDraw() {
  // Send the query with a callback function.
  query.send(handleQueryResponse);
}

function handleQueryResponse(response) {
  if (response.isError()) {
    alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
    return;
  }
  data = response.getDataTable();
  var table = new google.visualization.Table(document.getElementById('querytable'));
  table.draw(data, {'showRowNumber': false});
  if (isFirstTime) {
  init();
  }
}

function setQuery(queryString) {
  // Query language examples configured with the UI
  query.setQuery(queryString);
  sendAndDraw();
  queryInput.value = queryString;
}



google.setOnLoadCallback(sendAndDraw);

function init() {
  isFirstTime = false;
  (new google.visualization.Table(document.getElementById('table'))).draw(data, options);
  queryInput = document.getElementById('display-query');
}

function setQueryFromUser() {
  setQuery(queryInput.value);
}
于 2012-08-28T14:47:43.957 に答える