我使用UpdatePanel将表绑定到回调。
一旦我的按钮单击代码隐藏完全运行,我使用Scriptmanager.ClientScriptblock()调用aspx页面上的脚本... 在调用的JavaScript函数中,我将行追加到DataTable。
在第一次加载时,它会将复选框添加为第一列,但在第二次调用时,它们不可见,仅在我对表进行排序时显示。
为什么只有在对表格进行排序后才能看到它们?
我将行附加到tbody,如下所示:
$("#bodyListLetter tr").remove(); // first removing tr and then add.
$('#bodyListLetter').append(Rows);
表初始化代码:
if ($.fn.dataTable.isDataTable('#example2')) {
table = $('#example2').DataTable();
}
else {
$('#example2').DataTable({
"searching": false,
"retrieve": false,
"paging": false,
"ordering": true,
"info": false,
columnDefs: [{
orderable: false,
className: 'select-checkbox',
targets: 0
}],
select: {
style: 'os',
selector: 'td:first-child'
},
order: [[1, 'asc']]
});
}
答案 0 :(得分:1)
我们必须使行无效并重绘。这解决了这个问题。
create table tbl (
Id int identity not null,
CusId as 'CUS' + format(Id, '00000'),
-- ...
)