J'ai le tableau suivant, où j'utilise 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>
Existe-t-il un moyen de définir quelles colonnes seront masquées au démarrage? Par exemple, je souhaite afficher uniquement les colonnes customer
et description
.
Vous pouvez utiliser data-visible = "false", c’est facile pour vous.
<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>
Vous pouvez le faire dans votre js en utilisant hideColumn
dans la fonction ready:
$(function(){
var $table = $('#mytable');
$table.bootstrapTable('hideColumn', 'type');
$table.bootstrapTable('hideColumn', 'cutter');
$table.bootstrapTable('hideColumn', 'valid_s');
});
Ensuite, si vous voulez leur montrer, vous pouvez utiliser:
$(function(){
var $table = $('#mytable');
$table.bootstrapTable('showColumn', 'type');
$table.bootstrapTable('showColumn', 'cutter');
$table.bootstrapTable('showColumn', 'valid_s');
});
J'espère que cela t'aides.
Aucune des réponses ci-dessus n'a fonctionné pour moi, car elles ont supprimé la colonne du DOM - mais je devais la conserver dans le DOM. Je voulais seulement cacher la colonne.
Les solutions suivantes ont fonctionné pour garder la colonne masquée mais dans le DOM:
Bootstrap-Table: Comment cacher une colonne sans la supprimer du DOM?
ex. en utilisant l'attribut data-class
sur le TH, puis en le définissant comme étant masqué:
<th class="col-xs-1" data-class='hidden' data-field="stargazers_count">Stars</th>
.hidden{
display:none;
visibility:hidden;
}
Une autre option consiste à masquer manuellement le TD/TH dans jQuery après la fonction onPostBody()
de Bootstrap-Table.
Vous devez ajouter la dernière ligne
<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]"
showPaginationSwitch="false"
>