Jquery 数据表在其上隐藏列';他自己的
可能导致我的列被隐藏/压缩的原因。在该行旁边放一个加号。很抱歉,我不确定这是用来检查datatables站点的 在显示模式后,调用column adjust来修复标题后会发生这种情况Jquery 数据表在其上隐藏列';他自己的,jquery,datatables,Jquery,Datatables,可能导致我的列被隐藏/压缩的原因。在该行旁边放一个加号。很抱歉,我不确定这是用来检查datatables站点的 在显示模式后,调用column adjust来修复标题后会发生这种情况 var dtUsers = $('#table-user-results').DataTable({ scrollY: "40vH", scroller: true, responsive: true }); $(document).on(
var dtUsers = $('#table-user-results').DataTable({
scrollY: "40vH",
scroller: true,
responsive: true
});
$(document).on('shown.bs.modal', '#list-manage-users-modal', function () {
dtUsers.columns.adjust().draw();
});
桌子
<table id="table-user-results" class="table table-striped table-bordered table-hovered dataTable">
<thead class="">
<tr>
<th>Name</th>
<th>Email</th>
<th>Role</th>
</tr>
</thead>
<tbody>
@foreach (var user in Model)
{
<tr id="@user.ID" class="@(!user.Email.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase) ? "user-results-context" : "")">
<td>@user.LastName, @user.FristName</td>
<td>@user.Email</td>
<td>@user.RoleName</td>
</tr>
}
</tbody>
</table>
名称
电子邮件
角色
@foreach(模型中的var用户)
{
@user.LastName,@user.FristName
@用户邮箱
@user.RoleName
}
问题更新
因此,当没有足够的数据需要滚动条时,就会触发该问题。您使用的扩展在列不适合视图时隐藏列
但是,如果在模式窗口中显示该表,响应扩展可能会错误地检测列宽,因为该表最初是隐藏的
解决方法是除了使用columns.adjust()
之外,还使用API方法
因为您使用的是Scroller扩展,所以还需要调用API方法
请参阅下面的代码:
$(document).on('shown.bs.modal', '#list-manage-users-modal', function (){
$($.fn.dataTable.tables(true)).DataTable()
.columns.adjust()
.responsive.recalc()
.scroller.measure();
});
您还需要包括scrollCollapse:true
选项,因为这两个扩展中似乎存在不兼容错误。有关更多详细信息,请参阅
有关代码和演示,请参阅。HA。。。谢谢,奇怪的是,当我取下它时,它正好合适。@Tsukasa,这是一个很好的扩展,我不会取下它。我添加了关于为什么它隐藏列和解决方法的解释。为了让它正常工作,我必须在这里添加true
$(“#表用户结果”)。DataTable(true,{
带有responsive.recalc。否则,标题将仍然显示2,但行将显示3列,但第3列是透明的,因为可以看到列在那里但为空。@Tsukasa,我发现jQuery DataTables存在问题。根据您的案例,您需要使用scrollCollapse:true
。请参阅demons答案中的示例最后!它将在下一版本中发布/