问题标签 [google-datatable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
293 浏览

javascript - 将 google.visualization.datatable 与复选框和 KnockOut 数据绑定相结合

我正在将我的“普通”HTML 表格转换为 Google 的 DataTable。主要是因为它会给我固定的标题和排序。感谢为 google.visualization.datatable 创建高级 KnockOut 绑定处理程序,我设法为 DataTable 创建了一个 KnockOut 绑定处理程序。这对于只读数据非常有用。

现在我想转换一个每行都有一个复选框和一个输入文本框的表格。创建这些表单元素不是问题,但我在它们上使用了 KnockOut 数据绑定。如何将这些数据绑定添加到我的数据表中?我试过这个:

但两者都不起作用。当然,我尝试使用谷歌找到答案,但到目前为止还没有运气。

编辑: 更多背景信息:我们有一个相当复杂的页面,它使用 AJAX 从服务器获取一些数据并填充表格。我们也使用 RequireJS,尽管 Google.Visualization 部分在 RequireJS 之外,因为我在集成它时遇到了麻烦;)

该页面是订单系统向导的一部分,复选框为“不订购”,输入框用于填写库存。表格是:

Next 按钮需要保存整个表格,包括复选框和库存的(更新的)值。

0 投票
2 回答
554 浏览

google-apps-script - 如何更新谷歌可视化仪表板的底层谷歌数据表并刷新仪表板视图?

我使用 Google HTML 服务创建了一个 google 可视化仪表板。底层数据表 (jjdt) 是从多个数据表(如 jadt2、fa)连接而成的。

然后我创建了一个图表包装器(finalTable)来在仪表板中显示表格。

这些代码工作正常。

现在我想要做的是允许单击按钮将基础表(jjdt)中的某些单元格设置为新值并将其反映在仪表板上。但这并不像我想象的那么简单。

我尝试了两件事:

1) 使用javascript更新对应单元格(x,y)的jjdt表并调用finalTable.draw();

但这没有效果,也没有错误消息。

2)我认为图表包装器可能创建了数据表的副本。所以我尝试取回该数据表:

我认为这是文档https://developers.google.com/chart/interactive/docs/reference#methods_4中描述的正确方法

文件

但是,我收到一条错误消息,说 setCell 不是 mydt 的函数,即使我可以调用 mydt.getValue()。好像我的数据表“不知何故”是只读的?但它是 DataTable 而不是 DataView .. 为什么会这样?

在此处输入图像描述

0 投票
1 回答
413 浏览

javascript - 通过比较两列谷歌可视化DataTable为行着色

我正在使用 google.visualization.DataTable 并且我有两个相关的列,我们将它们称为 colSmall 和 colLarge。如果 colSmall 在任何给定行中都大于 colLarge,那么我想将该行的背景颜色设为红色。

我最接近的是使用 google.visualization.ColorFormat()。我能够制作一个格式化程序和 addRange,我可以用它来硬编码一个特定的值,这样如果 colSmall 超过该值,它将是红色的(见下文)。

我一直无法找到一种方法让它查看这一行的另一列。我遇到的另一个问题是,这只会使单元格变为红色,而不是整行。

0 投票
1 回答
2353 浏览

google-visualization - 在 Google 可视化表中计算过滤后的行数

我已经在 Google 可视化表中为多个过滤器实现了各种控件:CategoryFilter、StringFilter 和 NumberRangeFilter 就像这个例子 http://jsfiddle.net/asgalllant/Ena84/

是否有可能知道每个过滤器设置后表格中可视化的行数?谢谢你。

0 投票
1 回答
369 浏览

arrays - 谷歌数据表 - 将“日期”字符串转换为整个列的实际新日期()(setCell??)

我正在创建一个非常简单的数组(我必须将第一行列为标题?)并将其从 views.py 解析为模板......

在我的模板中,我正在做一些 JS 来创建一个谷歌图表,它工作得很好。

问题是在我的图表上,日期只是字符串,所以如果我做了多行,就不会考虑实际的日期时间。

如何将列转换为 google new date(yy/mm/dd/hh/mm/ss) 等?

我已经尝试了很多东西,比如 setCell、setValue,但似乎没有任何效果。如果 setCell 有效,我也会尝试像 setColumn 这样的方法。

我的(不工作的)setCell 方法代码是这样的:

试图将“2014,3,3”数组中的给定日期元素更改为可识别的谷歌表日期......

这似乎是一个非常简单的问题,但我正在努力:(

谢谢,

弗雷德

0 投票
2 回答
512 浏览

mysql - 从温度和 ID 数据库创建 Google Charts API 数据表

我想使用数据库中的池温度数据创建一个注释图表。您可以在 sqlfiddlerextester上查看数据库结构,但为了节省您的点击,这是我正在使用的结构:

好的,基本上,我创建了一个控制器,它将返回格式正确的 JSON 以用于 ajax 和 google.visualization.DataTable(),如下所示:

当然,查看文档,注释图表期望事情遵循这种格式:

对了,就是这样设置,现在问题来了。组织数据的最佳方法是什么,以便 1.) 池 1、2 和 3 始终有相同日期时间的温度数据(我担心给定时间戳的数据集可能不完整)?我应该使用一些聪明的查询从 SQL 层开始组织它吗?或者我是否通过使用一堆 foreach 循环在控制器中组织它?这是我正在努力的目标:

我可以看到聪明的查询将是避免在控制器中执行一堆逻辑和 foreach 循环的好方法。也许如果数据按列组织,例如:

然后我可以很容易地完成它并创建 DataTable。我不确定如何在 MySQL 中执行此操作,或者即使这是一个好主意。

感谢您抽出宝贵的时间,并提前感谢您的帮助。我希望我足够清楚。

PS。我想到目前为止我遇到的最接近的事情是 Mysql query to dynamic convert rows to columns。我要再玩这个了……

0 投票
2 回答
477 浏览

json - Google Geochart Google.Visualization.Datatable 不是构造函数

我一直在想弄清楚为什么我的 Geochart 没有显示。我在谷歌上搜索了所有类似问题的解决方案,但没有一个对我有用。

我尝试在出错并显示 json 数据的行之前添加一个警告框,我可以看到其中有数据。

任何提示将非常感谢。

0 投票
1 回答
238 浏览

javascript - 在不同的值上透视 Google DataTable

我有以下格式的 Google DataTable:

我需要创建一个折线图,每个不同的“标签”有一条线,X 轴上的时间和 Y 轴上的值。

据我所知,这要求 DataTable 采用以下格式:

我要么需要一种将 DataTable 旋转成这种形状的方法,要么需要一种在不修改原始 DataTable 的情况下绘制我想要的 LineChart 的方法。

附录

我可以很容易地创建一个这种形状的 DataTable,如下所示:

但接下来的挑战是填充这张表。由于新表中单行的数据存在于第一个表的多行中,因此我不能简单地遍历旧表的每一行调用.addRow()新表

可以利用哈希表或其他一些复杂的结构来解析数据并使用它,但是:

  1. 这似乎是一个有更简单解决方案的问题
  2. 我想要尽可能好的性能,因为每次有人与页面上的 UI 元素交互时都需要重新绘制此 LineChart
0 投票
0 回答
64 浏览

jquery - 使用 PHP/SQLServer/JSON 绘制图形时出错

我是 PHP 新手,第一次使用 JSON 来使用 Google 图表绘制图表。我正在从 sql server 数据库中提取数据并生成 JSON 文件。

JSON 文件在服务器上生成良好,如下所示:

{"cols":[{"label":"SecurityID","type":"string"},{"label":"PositionDate","type":"string"},{"label":"LastUpdate" ,"type":"string"}],"rows":[{"c":[{"v":"528228"},{"v":"10-08-2017"},{"v" :"2017 年 8 月 10 日 19:47:04:067"}]},{"c":[{"v":"271239"},{"v":"07-09-2017"},{"v ":"2017 年 9 月 6 日 15:07:08:023"}]},{"c":[{"v":"271240"},{"v":"08-09-2017"},{" v":"2017 年 9 月 12 日 09:42:09:883"}]},{"c":[{"v":"614800"},{"v":"08-09-2017"},{ “v”:“2017 年 10 月 15 日 14:26:10:600"}]},{"c":[{"v":"703806"},{"v":"15-09-2017"},{"v":"2017 年 9 月 15 日 16:24:20 :913"}]},{"c":[{"v":"580428"},{"v":"20-09-2017"},{"v":"2017 年 9 月 19 日 17:35: 15:130"}]},{"c":[{"v":"267909"},{"v":"22-09-2017"},{"v":"2017 年 9 月 21 日 18:06 :05:800"}]},{"c":[{"v":"639862"},{"v":"27-09-2017"},{"v":"06 Nov 2017 11: 58:12:310"}]}]}{"v":"2017 年 9 月 19 日 17:35:15:130"}]},{"c":[{"v":"267909"},{"v":"22-09-2017"} ,{"v":"2017 年 9 月 21 日 18:06:05:800"}]},{"c":[{"v":"639862"},{"v":"27-09-2017" },{"v":"2017 年 11 月 6 日 11:58:12:310"}]}]}{"v":"2017 年 9 月 19 日 17:35:15:130"}]},{"c":[{"v":"267909"},{"v":"22-09-2017"} ,{"v":"2017 年 9 月 21 日 18:06:05:800"}]},{"c":[{"v":"639862"},{"v":"27-09-2017" },{"v":"2017 年 11 月 6 日 11:58:12:310"}]}]}

同时,我尝试绘制它,但没有输出。查看 chrome 上的错误,我在下面看到:

未捕获(承诺)错误: https ://www.gstatic.com/charts/45.2/js/jsapi_compiled_format_module.js 无效的 JSON 字符串:

我要绘制的代码如下:

0 投票
1 回答
79 浏览

google-maps - Google 表格:地图未使用自定义标记进行渲染

我正在尝试在 Google 表格中呈现地图并设置自定义标记。我遵循了有关此主题的 App Script Docs:Visualization: Map。地图正在使用正确位置的图标进行渲染,但图标是默认设置。

我检查了我的 img URL(通过将它们设置为默认值)并且它们有效(以下 url 是假的)。我认为问题在于将 options.icons.keys 与 dataTable 第 3 列中的数据匹配。

这是从中提取的原始数据<?= jsonPoints ?>

这是创建地图的函数:

我曾尝试在 options.icons.keys 上加上引号,例如"Green",但这不起作用。

有什么想法吗?

谢谢!