Javascript 具有固定列的DataTable看起来不太好
我尝试固定数据表的第一列,我可以做到,当我使用滚动时,第一列是静态的,问题是标题看起来是透明的,所以当我向右滚动时,我可以看到第一列下面td元素的内容,尽管它对表体工作良好 例如:Hotel是第一列,Total Pasajeros是第二列,当我向右滚动时,我可以看到Hotel下面的Total Pasajeros,依此类推 这是我使用的代码,我能做些什么来修复它Javascript 具有固定列的DataTable看起来不太好,javascript,jquery,datatables,Javascript,Jquery,Datatables,我尝试固定数据表的第一列,我可以做到,当我使用滚动时,第一列是静态的,问题是标题看起来是透明的,所以当我向右滚动时,我可以看到第一列下面td元素的内容,尽管它对表体工作良好 例如:Hotel是第一列,Total Pasajeros是第二列,当我向右滚动时,我可以看到Hotel下面的Total Pasajeros,依此类推 这是我使用的代码,我能做些什么来修复它 <script type="text/javascript"> $(function() {
<script type="text/javascript">
$(function() {
$('#hoteles').DataTable({
scrollY: "450px",
scrollX: true,
paging: false,
fixedColumns: {
leftColumns: 1
}
});
});
</script>
$(函数(){
$('#hoteles')。数据表({
滚动:“450px”,
是的,
分页:false,
固定列:{
leftColumns:1
}
});
});
如果看不到创建表的JS,就有点难以衡量
我想到了几件事。您可以尝试拨打:
var table = $('#hoteles').DataTable();
table.columns.adjust().draw();
这将重新计算列布局。
见:
另一件你可以看到的事情是给第一列更多的空间来处理。在表属性中,可以使用以下类定义列:
"columns": [
{ "title": "Hotel", "class": "nowrap", "width": "15%;"},
{ "title": "Total Pasajeros", "class": "center" },
{ "title": "Col3", "class": "nowrap", "width": "5%;" },
{ "title": "Col4" },
{ "title": "Col5", "class": "nowrap" }
]
请参阅:如果没有看到创建表的JS,就有点难以衡量 我想到了几件事。您可以尝试拨打:
var table = $('#hoteles').DataTable();
table.columns.adjust().draw();
这将重新计算列布局。
见:
另一件你可以看到的事情是给第一列更多的空间来处理。在表属性中,可以使用以下类定义列:
"columns": [
{ "title": "Hotel", "class": "nowrap", "width": "15%;"},
{ "title": "Total Pasajeros", "class": "center" },
{ "title": "Col3", "class": "nowrap", "width": "5%;" },
{ "title": "Col4" },
{ "title": "Col5", "class": "nowrap" }
]
请参阅:我遇到了相同的问题,下面是我提出的解决方案,首先将
固定行
添加到容器(而不是表),然后使用引导响应表:
function bs_tableAdapter(){
var tableContainer = $('.fixed-row table');
var calculateWidth = 0;
tableContainer.each(function(e,n){
var clone = $(n).clone(true);
var pos = $(n).position();
var tmp = 0;
clone.find('th').not(':eq(0)').remove();
clone.find('tbody tr').each(function(){
$(this).find('td').not('.heads').remove();
});
clone.addClass('fixed-row-clone');
$(n).find('tr').each(function(){
var elem = $(this).find('.heads').parents('.tab-pane').show().end();
calculateWidth = elem.outerWidth() + 10;
elem.parents('.tab-pane').css('display','');
if(tmp < calculateWidth){
tmp = calculateWidth;
}
});
clone.css({
left: pos.left,
top: pos.top,
width: tmp
});
clone.find('th,td').css({
'width': tmp+'px',
'padding-right' : '0px'
});
$('.fixed-row').append(clone);
});
}
函数bs_tableAdapter(){
var tableContainer=$('.fixed row table');
var calculateWidth=0;
tableContainer.each(函数(e,n){
var clone=$(n).clone(true);
var pos=$(n.position();
var-tmp=0;
clone.find('th')。not(':eq(0)).remove();
clone.find('tbody tr')。each(function(){
$(this.find('td').not('.heads').remove();
});
clone.addClass('fixed-row-clone');
$(n).find('tr').each(函数(){
var elem=$(this).find('.heads').parents('.tab pane').show().end();
计算宽度=元素外径()+10;
elem.parents('.tab pane').css('display','');
如果(tmp
我也遇到了同样的问题,下面是我提出的解决方案,首先将固定行
添加到容器(而不是表),然后使用引导响应表:
function bs_tableAdapter(){
var tableContainer = $('.fixed-row table');
var calculateWidth = 0;
tableContainer.each(function(e,n){
var clone = $(n).clone(true);
var pos = $(n).position();
var tmp = 0;
clone.find('th').not(':eq(0)').remove();
clone.find('tbody tr').each(function(){
$(this).find('td').not('.heads').remove();
});
clone.addClass('fixed-row-clone');
$(n).find('tr').each(function(){
var elem = $(this).find('.heads').parents('.tab-pane').show().end();
calculateWidth = elem.outerWidth() + 10;
elem.parents('.tab-pane').css('display','');
if(tmp < calculateWidth){
tmp = calculateWidth;
}
});
clone.css({
left: pos.left,
top: pos.top,
width: tmp
});
clone.find('th,td').css({
'width': tmp+'px',
'padding-right' : '0px'
});
$('.fixed-row').append(clone);
});
}
函数bs_tableAdapter(){
var tableContainer=$('.fixed row table');
var calculateWidth=0;
tableContainer.each(函数(e,n){
var clone=$(n).clone(true);
var pos=$(n.position();
var-tmp=0;
clone.find('th')。not(':eq(0)).remove();
clone.find('tbody tr')。each(function(){
$(this.find('td').not('.heads').remove();
});
clone.addClass('fixed-row-clone');
$(n).find('tr').each(函数(){
var elem=$(this).find('.heads').parents('.tab pane').show().end();
计算宽度=元素外径()+10;
elem.parents('.tab pane').css('display','');
如果(tmp