在启动时隐藏引导表中的列

yay*_*zis 10 twitter-bootstrap bootstrap-table

我有下表,我在哪里使用 Bootstrap-table

<div class="row mystyle" >
    <div class="col-md-12">
        <table id="mytable"  data-row-style="rowStyle" class="table table-hover" id="table-pagination " 
               data-url="labels.json" 
               data-toggle="table"
               data-pagination="true"
               data-show-pagination-switch="true"
               data-sort-order="desc" 
               data-search="true"
               data-show-refresh="true" 
               data-show-columns="true"
               data-page-list="[10, 25, 50, 100, ALL]"                     
               >

            <thead>
                <tr>
                    <th data-field="customer.name" data-align="center" data-sortable="true">customer</th>
                    <th data-field="type" data-align="center" data-sortable="true">type</th>
                    <th data-field="description" data-align="center" data-sortable="true">description</th>
                    <th data-field="cutter" data-align="center" data-sortable="true">cutter</th> 
                    <th data-field="valid_s" data-align="center" data-sortable="true">valid</th>
                </tr>
            </thead>
        </table>
    </div>            
</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法定义在启动时隐藏哪些列?例如,我想只显示customerdescription列.

Zak*_*rki 11

您可以使用hideColumnready函数在js中执行此操作:

$(function(){
    var $table = $('#mytable');

    $table.bootstrapTable('hideColumn', 'type');
    $table.bootstrapTable('hideColumn', 'cutter');
    $table.bootstrapTable('hideColumn', 'valid_s');
});
Run Code Online (Sandbox Code Playgroud)

然后,如果你想展示它们,你可以使用:

$(function(){
    var $table = $('#mytable');

    $table.bootstrapTable('showColumn', 'type');
    $table.bootstrapTable('showColumn', 'cutter');
    $table.bootstrapTable('showColumn', 'valid_s');
});
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.

  • 您需要 https://bootstrap-table.com/ 并添加属性:'data-field'。列选项在`jQuery.fn.bootstrapTable.columnDefaults`中定义 (2认同)

小智 11

您可以使用data-visible="false"

<thead>
    <tr>
        <th data-field="customer.name" data-align="center" data-sortable="true">customer</th>
        <th data-field="type" data-align="center" data-sortable="true" data-visible="false">type</th>
        <th data-field="description" data-align="center" data-sortable="true">description</th>
        <th data-field="cutter" data-align="center" data-sortable="true" data-visible="false">cutter</th>
        <th data-field="valid_s" data-align="center" data-sortable="true" data-visible="false">valid</th>
    </tr>
</thead>
Run Code Online (Sandbox Code Playgroud)

  • 那将无法正常工作。如果你执行 `data-visible="false"` 它会从 DOM 中删除它! (5认同)

gen*_* b. 5

上面的答案都不适合我,因为他们从 DOM 中删除了列——但我必须将它保留在 DOM 中。我只想隐藏该列。

以下解决方案可以使列隐藏但在 DOM 中:

Bootstrap-Table:如何隐藏一列而不从 DOM 中删除它?

前任。使用data-classTH 上的属性,然后将其定义为隐藏:

<th class="col-xs-1" data-class='hidden' data-field="stargazers_count">Stars</th>

.hidden{
  display:none;
  visibility:hidden;
}
Run Code Online (Sandbox Code Playgroud)

或者另一种选择是在 Bootstrap-Table 的onPostBody().