1

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

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

data.setCell(
    0, 0, "<input type='checkbox' data-bind=checked: ' " + order.inOrder + "'/>"
);

data.setCell(
    0, 0, "<input type='checkbox' data-bind=checked: order.inOrder />"
);

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

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

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

checkbox|Product name|amount|input box for stock|amount minus stock|price

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

4

1 回答 1

0

不要认为数据绑定会与 Google 图表一起使用

即使可以,也看不到太多好处,因为无论如何您都需要手动加载 DataTable

因此,只需在加载 DataTable 时提供所需的值,
例如...
data.setCell(0, 0, "<input type='checkbox' " + ((order.inOrder === true) ? "checked" : "") + "/>");

其他想法...

如果表格图表使用分页按钮,则仅呈现当前页面的行,因此必须以某种方式在每个'page'事件 上发生绑定

在表格图表中使用复选框输入将导致'select'事件在点击表格行时触发

于 2016-05-04T13:35:09.303 回答