首页 > 解决方案 > Bootstrap 4选项卡中的数据表响应

问题描述

我正在开发一个带有响应式数据表的 jsf 应用程序。它在真实手机中无法正常工作。当我触摸并向上/向下滚动表格时,它会正确显示。

以下是响应式代码:

<h:column a:data-priority="1">
    <f:facet name="header">ID</f:facet>                 
        #{_row.id}
</h:column>
<h:column a:data-priority="2">
    <f:facet name="header">Số CMND</f:facet>                    
        #{_row.code}
</h:column>
<h:column a:data-priority="2">
    <f:facet name="header">Tên</f:facet>                    
        #{_row.name}
</h:column>
<h:column a:data-priority="0">
    <f:facet name="header">
        <h:commandLink action="#{employeeEditBean.addDependent()}" value="Add" >
            <f:ajax render="form#{tabname}" onevent="onEventAdd#{tabname}" />
        </h:commandLink>
    </f:facet>   
    <h:commandLink action="#{employeeEditBean.editEmployeeDependent(_row.id)}"
                   value="Edit" title="Hiệu chỉnh dòng"
                   >
        <f:ajax render="form#{tabname}" onevent="onEventEdit#{tabname}" />
    </h:commandLink>

    <h:outputText value=" " escape="true" />

    <h:commandLink action="#{employeeEditBean.editEmployeeDependent(_row.id)}"
                   styleClass="fa fa-trash" title="Xóa dòng" style="color: #e0a800 !important"
                   >

        <f:ajax render="form#{tabname}Delete" onevent="onEventDelete#{tabname}" />
    </h:commandLink>


</h:column>

Java脚本:

$('#tablexx').DataTable({
     rowReorder: {
     selector: 'td:nth-child(2)'
     }, responsive: true
});

结果如下:

在此处输入图像描述

我还将应用程序放到我的测试服务器上:

http://51.158.105.169:8080/hr

用户:亚当/通行证:亚当1

请帮我。

非常感谢 - VinhCC

标签: datatableresponsive

解决方案


我自己有答案:

$(document).ready(function () {
    $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
        e.target // activated tab 
        e.relatedTarget // previous tab 
        var table = $.fn.dataTable.fnTables(true);
        if (table.length > 0) {
            $(table).dataTable().fnAdjustColumnSizing();
        }
    });
});

结果如下:

在此处输入图像描述


推荐阅读