首先,我是一名新手开发人员。我正在尝试创建一个基本的Google Apps脚本应用,它将使用HTMLservice,获取表单数据并将其存储在ScriptDB中,并能够查询数据库并将其显示在表格中。表单正常工作,因为日志显示正在存储的对象。但是,当我尝试查询整个数据库时,我只返回一个结果。这是html:
function queryResponse(responseObj){
$.each(responseObj, function(key, value) { $("#records").append(key + ': ' + value + "<br>"); });
}
这是脚本:
function dumpData(){
var results = db.query({}); while (results.hasNext()) { var result = results.next(); } Logger.log(result); return result;
}
我的第二个问题是,一旦查询整个数据库,是否可以在表格中显示?任何信息,将不胜感激。 亲切的问候, 标记
答案 0 :(得分:3)
要回答您的第一个问题,您的应用脚本功能会浏览ScriptDB
的所有内容,并将每个值都写入单个result
。循环完成后,返回最终结果 - 即db.query({})
返回的LAST对象。只有一个。
这是一个修改后的版本,它返回包含所有对象的Array
。
function dumpData() {
var results = db.query({});
var result = [];
while (results.hasNext()) {
result.push (results.next());
}
Logger.log(result);
return result;
}
现在,关于第二个问题。
查看Building a Charts Dashboard教程,了解图表服务的详细介绍。您可能对完整的仪表板(具有相同基础数据的多个图表)不感兴趣,而是希望创建一个单独的TableChart,但教程涵盖了这一点。
如果你正在使用apps-script,你将创建一个UiApp,它具有构建TableChart的doGet()
函数。要填充数据源,您需要创建newDataTable()
,根据“密钥”及其类型添加列标题,然后添加包含相关“值”的行。之后,这是创建图表,将数据绑定到它,并将其附加到UiApp的问题。
如果没有您对实际数据的任何描述,那就是我可以提供的所有指导。
答案 1 :(得分:1)
当您要求使用HTML服务解决方案而不是UiApp时,Mogsdad使用UiApp的方法无济于事。您可以使用模板文件直接生成表格(按照上面的评论)。但是,如果您希望将表(选择行,排序等)作为较大应用程序的一部分,请考虑使用jQuery DataTable。显示了一个简单示例here