如何刷新数据表列数据
How to refresh datatable column data
我使用数据表插件,将表作为数据源。当用户在输入中输入一些数字时,我必须通过 javascript 更改一些列值(此输入也是表的一部分,我必须将此值导出到)。它运行良好,但是当我想导出表时,使用 javascript 更改的列不会显示在导出的文件中。
我认为问题是我没有刷新数据表插件。这是对的吗?如果是,如何刷新数据源?如果没有,问题是什么,我该如何解决?
我尝试了refresh()
方法(var dataTableObject = $(this).parents('table').dataTable(); dataTableObject.refresh();
)和$(this).parents('table').dataTable()
但不起作用。
编辑:这是我更改单元格值的方法:
$item.find('input.quantity-coefficient').each(function (i, d) {
$(d).off('change').on('change', function () {
var multiplier = $(this).val();
//var dataTableObject = $(this).parents('table').dataTable();
$($(this).data("row-price-info-class")).each(function (i, d) {
var priceContainer = $(d);
var price = parseFloat(priceContainer.data('price-value'));
var priceInfoRatioContainer = $(priceContainer.data("ratio-input-class"));
if (multiplier * price == 0) {
priceInfoRatioContainer.closest("td").addClass("no-euro");
priceInfoRatioContainer.html(" ");
} else {
priceInfoRatioContainer.closest("td").removeClass("no-euro");
priceInfoRatioContainer.html(localizeNumber(multiplier * price));
}
});
//TODO redrow the data
$(this).parents('table').dataTable().fnDraw();;
});
});
您可以使用 fnDraw()
刷新数据表。在您的示例中:
$(this).parents('table').dataTable().fnDraw();
谢谢你们,但我想我在这篇文章中找到了解决方案: jquery 数据表 - 更改单元格的值而不仅仅是显示值
当我第一次尝试时,问题是我从 1 而不是从 0 开始行号。
因此,对于可能遇到此问题的其他人,我必须使用这样的东西:
(this).parents('table').dataTable().fnUpdate("new value", 0, 2)
更新单元格值。实际上这不是我要求的,因为这不是刷新所有表格,但现在这对我来说是一个解决方案。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 具有rowGrouping的数据表无法隐藏列
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 将单击事件添加到数据表
- 使用带有参数的数据表sAjaxSource
- 对角度数据表中括号内的数字进行排序
- 动态构建一个数据表与scriplets
- jquery数据表的自定义ko绑定
- 预览数据表单
- 如何在数据表中设置从Ajax响应选中的复选框
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- 数据表-隐藏/显示列
- 对损坏的子行进行排序的数据表
- 将计算的列值绑定到数据表数据模型
- 来自数组的数据表数据
- 使用 Knockoutjs 的数据表数据绑定
- 任何人都可以帮助我下载Excel和PDF中的Jquery数据表数据
- 将数据表数据导出到ajaxSource
- Jquery数据表数据json
- 其中是存储的数据表数据集中的数据