问题标签 [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.
javascript - 将 google.visualization.datatable 与复选框和 KnockOut 数据绑定相结合
我正在将我的“普通”HTML 表格转换为 Google 的 DataTable。主要是因为它会给我固定的标题和排序。感谢为 google.visualization.datatable 创建高级 KnockOut 绑定处理程序,我设法为 DataTable 创建了一个 KnockOut 绑定处理程序。这对于只读数据非常有用。
现在我想转换一个每行都有一个复选框和一个输入文本框的表格。创建这些表单元素不是问题,但我在它们上使用了 KnockOut 数据绑定。如何将这些数据绑定添加到我的数据表中?我试过这个:
和
但两者都不起作用。当然,我尝试使用谷歌找到答案,但到目前为止还没有运气。
编辑: 更多背景信息:我们有一个相当复杂的页面,它使用 AJAX 从服务器获取一些数据并填充表格。我们也使用 RequireJS,尽管 Google.Visualization 部分在 RequireJS 之外,因为我在集成它时遇到了麻烦;)
该页面是订单系统向导的一部分,复选框为“不订购”,输入框用于填写库存。表格是:
Next 按钮需要保存整个表格,包括复选框和库存的(更新的)值。
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 .. 为什么会这样?
javascript - 通过比较两列谷歌可视化DataTable为行着色
我正在使用 google.visualization.DataTable 并且我有两个相关的列,我们将它们称为 colSmall 和 colLarge。如果 colSmall 在任何给定行中都大于 colLarge,那么我想将该行的背景颜色设为红色。
我最接近的是使用 google.visualization.ColorFormat()。我能够制作一个格式化程序和 addRange,我可以用它来硬编码一个特定的值,这样如果 colSmall 超过该值,它将是红色的(见下文)。
我一直无法找到一种方法让它查看这一行的另一列。我遇到的另一个问题是,这只会使单元格变为红色,而不是整行。
google-visualization - 在 Google 可视化表中计算过滤后的行数
我已经在 Google 可视化表中为多个过滤器实现了各种控件:CategoryFilter、StringFilter 和 NumberRangeFilter 就像这个例子 http://jsfiddle.net/asgalllant/Ena84/
是否有可能知道每个过滤器设置后表格中可视化的行数?谢谢你。
arrays - 谷歌数据表 - 将“日期”字符串转换为整个列的实际新日期()(setCell??)
我正在创建一个非常简单的数组(我必须将第一行列为标题?)并将其从 views.py 解析为模板......
在我的模板中,我正在做一些 JS 来创建一个谷歌图表,它工作得很好。
问题是在我的图表上,日期只是字符串,所以如果我做了多行,就不会考虑实际的日期时间。
如何将列转换为 google new date(yy/mm/dd/hh/mm/ss) 等?
我已经尝试了很多东西,比如 setCell、setValue,但似乎没有任何效果。如果 setCell 有效,我也会尝试像 setColumn 这样的方法。
我的(不工作的)setCell 方法代码是这样的:
试图将“2014,3,3”数组中的给定日期元素更改为可识别的谷歌表日期......
这似乎是一个非常简单的问题,但我正在努力:(
谢谢,
弗雷德
mysql - 从温度和 ID 数据库创建 Google Charts API 数据表
我想使用数据库中的池温度数据创建一个注释图表。您可以在 sqlfiddle或rextester上查看数据库结构,但为了节省您的点击,这是我正在使用的结构:
好的,基本上,我创建了一个控制器,它将返回格式正确的 JSON 以用于 ajax 和 google.visualization.DataTable(),如下所示:
当然,查看文档,注释图表期望事情遵循这种格式:
对了,就是这样设置,现在问题来了。组织数据的最佳方法是什么,以便 1.) 池 1、2 和 3 始终有相同日期时间的温度数据(我担心给定时间戳的数据集可能不完整)?我应该使用一些聪明的查询从 SQL 层开始组织它吗?或者我是否通过使用一堆 foreach 循环在控制器中组织它?这是我正在努力的目标:
我可以看到聪明的查询将是避免在控制器中执行一堆逻辑和 foreach 循环的好方法。也许如果数据按列组织,例如:
然后我可以很容易地完成它并创建 DataTable。我不确定如何在 MySQL 中执行此操作,或者即使这是一个好主意。
感谢您抽出宝贵的时间,并提前感谢您的帮助。我希望我足够清楚。
PS。我想到目前为止我遇到的最接近的事情是 Mysql query to dynamic convert rows to columns。我要再玩这个了……
json - Google Geochart Google.Visualization.Datatable 不是构造函数
我一直在想弄清楚为什么我的 Geochart 没有显示。我在谷歌上搜索了所有类似问题的解决方案,但没有一个对我有用。
我尝试在出错并显示 json 数据的行之前添加一个警告框,我可以看到其中有数据。
任何提示将非常感谢。
javascript - 在不同的值上透视 Google DataTable
我有以下格式的 Google DataTable:
我需要创建一个折线图,每个不同的“标签”有一条线,X 轴上的时间和 Y 轴上的值。
据我所知,这要求 DataTable 采用以下格式:
我要么需要一种将 DataTable 旋转成这种形状的方法,要么需要一种在不修改原始 DataTable 的情况下绘制我想要的 LineChart 的方法。
附录
我可以很容易地创建一个这种形状的 DataTable,如下所示:
但接下来的挑战是填充这张表。由于新表中单行的数据存在于第一个表的多行中,因此我不能简单地遍历旧表的每一行调用.addRow()
新表
我可以利用哈希表或其他一些复杂的结构来解析数据并使用它,但是:
- 这似乎是一个有更简单解决方案的问题
- 我想要尽可能好的性能,因为每次有人与页面上的 UI 元素交互时都需要重新绘制此 LineChart
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 字符串:
我要绘制的代码如下:
google-maps - Google 表格:地图未使用自定义标记进行渲染
我正在尝试在 Google 表格中呈现地图并设置自定义标记。我遵循了有关此主题的 App Script Docs:Visualization: Map。地图正在使用正确位置的图标进行渲染,但图标是默认设置。
我检查了我的 img URL(通过将它们设置为默认值)并且它们有效(以下 url 是假的)。我认为问题在于将 options.icons.keys 与 dataTable 第 3 列中的数据匹配。
这是从中提取的原始数据<?= jsonPoints ?>
这是创建地图的函数:
我曾尝试在 options.icons.keys 上加上引号,例如"Green"
,但这不起作用。
有什么想法吗?
谢谢!