0

我试过搜索这个,并没有在这里找到任何类似的问题。

我可能遗漏了一些明显的东西——我真的是一个网页设计师,被要求做我从未学过的编程东西......

基本上,我的用户选择查询运行良好,请参见此处:http ://umbc.edu/_bwtech/api2.html

但是当页面第一次加载时,它会加载我所有的表格列——但我只希望它拉出第一列。

我以为我在这里工作:http: //umbc.edu/_bwtech/api6.html 但是用户查询不再有效。

对于用户选择的查询,如何仅绘制一列而不会失去对整个表中数据的访问权限?

如果我在这里复制代码更容易,请告诉我。

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 回答