gpt4 book ai didi

javascript - 从变量重新加载数据表

转载 作者:搜寻专家 更新时间:2023-11-01 05:28:24 24 4
gpt4 key购买 nike

我在网上搜索过,但没有找到简单的解决方案。我正在使用 jQuery DataTables使用“静态”数据源(一个 var 使用 SignalR 填充数据,然后构建 DataTable)。现在,当这个数据集发生变化时,我想使用这个数据集更新表。理想情况下,这将是简单的“刷新”,即从指定源重新加载数据。这是我的 HTML

<table class="table table-hover table-condensed table-responsive" id="tableAccounts">
<thead>
<tr>
<th data-localize="_A_C">_A_C</th>
<th data-localize="_Name">_Name</th>
<th data-localize="_Address">_Address</th>
<th data-localize="_City">_City</th>
<th data-localize="_Phone">_Phone</th>
</tr>
</thead>
<tbody></tbody>

这是我最初加载数据的 javascript:

tAccounts = $('#tableAccounts').dataTable({
"data": AccountAll,
"bFilter": true,
"pageLength": 100,
"bSearchable": true,
"bInfo": false,
"columns": [
{ "data": "AccountCode" },
{ "data": "Name" },
{ "data": "Address" },
{ "data": "City" },
{ "data": "Phone" }
],
"columnDefs": [
{
"render": function (data, type, row) {
return ("0000" + data.toString(16)).slice(-4);
},
"targets": 0
},
{ "visible": true, "targets": [0] }
]
});

tl;博士;

如何在数据源(本例中为 AccountAll)更改时刷新数据表而不破坏整个表?如果保留选择和过滤器,则加分。

改变可以是任何事情。添加新行、删除行、更改单元格值。

最佳答案

您可以使用 clear() 的组合和 rows.add()用于清除现有数据和添加更新数据的 API 方法。

在这种情况下,过滤和排序将被保留。

如果您想保留当前页面,请调用 draw(false) 而不是 draw() 但是如果您要添加新行,则没有什么意义保留当前页面

例如:

var data = [['old',2,3,4,5,6]];

var table = $('#example').DataTable({
'data': data
});

var dataNew = [['new',2,3,4,5,6]];
table.clear().rows.add(dataNew).draw();

参见 this example代码和演示。

关于javascript - 从变量重新加载数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44000329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com