Tsu*_*asa 5 css model-view-controller jquery datatables
当我将scrollY 添加到部分视图中的数据表时,标题会被压缩到屏幕的左侧。当我单击标题进行排序时,它们正确扩展至 100%。使用滚动器选项并向下滚动足够远也会触发列的正确渲染。
查看每个列标题的宽度时,宽度设置为 0。执行上述操作之一后,宽度将被纠正为应有的样子。
从主视图触发以加载部分内容
$('a[data-target="#list-view-audits-modal"]').on('click', function (e) {
e.preventDefault();
$.ajax({
type: "GET",
url: "../Home/GetAudits",
success: function (data) {
$('body').append(data); //this adds the modal called below
$('#list-audits-modal').modal('toggle')
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
WebUI.handleError(XMLHttpRequest, textStatus, errorThrown);
}
});
});
Run Code Online (Sandbox Code Playgroud)
现在在部分视图中我调用以下命令来转换表格
$(function () {
var dt = $('#table-audits-results').DataTable({
order: [[0, "desc"]],
buttons: ['csv'],
scrollY: 200,
scroller: true,
responsive: true
});
});
Run Code Online (Sandbox Code Playgroud)
我已经搜索并尝试了很多在其他帖子中找到的东西,但到目前为止还没有解决这个问题。我认为这与它在局部视图中的转换有关?
更新1
好吧,看来这是一个问题,因为模态还没有尺寸。为了测试这一点,我延迟了转换数据表的触发器,并且标头现在是正确的。
现在我需要弄清楚如何在模态具有大小时触发此操作,以便用户看不到标准表并观看它转换为数据表。
更新2
我已尝试以下操作,但您仍然会在转换之前看到大量数据加载
$(document).on('show.bs.modal', '#list-audits-modal', function () {
alert('triggered');
var dt = $('#table-audits-results').DataTable({
order: [[0, "desc"]],
buttons: ['csv'],
scrollY: 200,
scroller: true,
responsive: true
});
});
Run Code Online (Sandbox Code Playgroud)
更新3
我认为这并不理想,因为用户看到标题不正确仍然存在延迟,因此仍在寻找更好的解决方案
我在局部视图中使用的内容。
var dt = $('#table-audits-results').DataTable({
order: [[0, "desc"]],
dom: 'Bfrtip',
buttons: ['csv'],
scrollY: 200,
scroller: true,
responsive: true
});
$(document).on('shown.bs.modal', '#list-audits-modal', function () {
dt.columns.adjust().draw();
});
Run Code Online (Sandbox Code Playgroud)
$(document).on('shown.bs.modal', '#list-audits-modal', function () {
dt.columns.adjust().draw();
});
Run Code Online (Sandbox Code Playgroud)
很好但是
$(document).on('shown.bs.modal', '#list-audits-modal', function () {
dt.columns.adjust();
});
Run Code Online (Sandbox Code Playgroud)
也可以
如果.draw()服务器处理打开,则会向服务器发送另一个请求
| 归档时间: |
|
| 查看次数: |
5464 次 |
| 最近记录: |