Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有固定列的DataTable看起来不太好_Javascript_Jquery_Datatables - Fatal编程技术网

Javascript 具有固定列的DataTable看起来不太好

Javascript 具有固定列的DataTable看起来不太好,javascript,jquery,datatables,Javascript,Jquery,Datatables,我尝试固定数据表的第一列,我可以做到,当我使用滚动时,第一列是静态的,问题是标题看起来是透明的,所以当我向右滚动时,我可以看到第一列下面td元素的内容,尽管它对表体工作良好 例如:Hotel是第一列,Total Pasajeros是第二列,当我向右滚动时,我可以看到Hotel下面的Total Pasajeros,依此类推 这是我使用的代码,我能做些什么来修复它 <script type="text/javascript"> $(function() {

我尝试固定数据表的第一列,我可以做到,当我使用滚动时,第一列是静态的,问题是标题看起来是透明的,所以当我向右滚动时,我可以看到第一列下面td元素的内容,尽管它对表体工作良好

例如:Hotel是第一列,Total Pasajeros是第二列,当我向右滚动时,我可以看到Hotel下面的Total Pasajeros,依此类推

这是我使用的代码,我能做些什么来修复它

  <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