列使用DataTable fixedColumns未对齐

时间:2015-11-04 11:11:19

标签: javascript jquery datatables

当我使用fixedColumns属性时,我有一个错误。

奇怪的是,这个bug总是不会发生,但有时也会发生。而且我不知道为什么。

这是错误

enter image description here

就像你可以看到第一列(我已修复)的行未对齐。 并且,在右下角有按钮" Primo"," Precedente" ..等..没有正确显示。

这是表格的代码我使用Thymeleaf来显示数据会话属性)

<table id="table" data-fixedLeftColumns="1" class="display noscroll sortable " style="max-width: 100%;" >
    <thead>
        <tr>
            <th>Prog.</th>
            <th>Tipo</th>
            <th>Nome file</th>  
            <th>Data emissione</th> 
            <th>Num.</th>           
            <th>Importo totale</th>                     
            <th>Importo quota Miur</th>         
            <th>Nota</th>
        </tr>
    </thead>
    <tbody>
        <tr th:each="...">                                      
            <td th:text="..." ></td>
            <td style="white-space: nowrap" th:text="..." ></td>
            <td style="white-space: nowrap">
                <a th:id="..." th:value="..." >
                <img class="tableIcon" th:src="..." title="..."/>
                <span style="vertical-align: middle;" th:text="..." ></span>
                </a>
            </td>                                                                                   
            <td th:text="..." ></td>    
            <td th:text="..." ></td>
            <td th:text="..." style="text-align: right;"></td>  
            <td th:text="..." style="text-align: right;"></td>  
            <td style="text-align: center;">
                <img th:if="..." th:name="..." th:id="..." class="tableIcon" th:src="..." title="Leggi nota" />
            </td>

        </tr>
    </tbody>

 data-fixedLeftColumns="1"
从js中使用

来标识要修复的列。

这里是js

    var fixedLeftColumns, fixedRightColumns;

    $("#table").attr("data-fixedLeftColumns") === undefined ? 
            fixedLeftColumns = "0" : fixedLeftColumns = $(this).attr("data-fixedLeftColumns");

    $("#table").attr("data-fixedRightColumns") === undefined ? 
            fixedRightColumns = "0" : fixedRightColumns = $("#table").attr("data-fixedRightColumns");

    var dtSettings = {
            iDisplayLength : 10,
            bJQueryUI : true,
            bInfo : !$(this).hasClass('simple'),
            bDestroy : true,
            bFilter : !$(this).hasClass('simple'),
            bAutoWidth : false,
            bPaginate : !$(this).hasClass('simple'),
            sPaginationType : 'full_numbers',
            scrollCollapse : true,
            bLengthChange : true,
            stateSave : true,
            bSort : $(this).hasClass('sortable'),
            aaSorting : [],
            oLanguage : tableLocale,
            "lengthMenu" : [ [ 10, 25, 50, -1 ], [ 10, 25, 50, "Tutte" ] ],
            aoColumnDefs : [ {
                bSortable : false,
                aTargets : [ "non-sortable" ]
            } ],
            fnFooterCallback : footerCallback,
            fixedColumns: {
                leftColumns: fixedLeftColumns,
                rightColumns: fixedRightColumns
            }
        };
   $("#table").dataTable(dtSettings);

但是,如果我点击标题中的一个列(Prog。,Tipo,Nome File ..等),表格会正确显示(当我点击其中一个时,行按照我所拥有的顺序排列点击,但这不是一个js事件):

enter image description here

1 个答案:

答案 0 :(得分:0)

_context.Users.Add(user); SecondTable secondTable = new SecondTable(); secondTable.UserId = user.Id; _context.SecondTables.Add(secondTable); _context.SaveChanges(); 使用它解决了我的问题。 在从datatable函数生成表之后,添加它。 Reference