jQuery DataTablesプラグインを使用しています。
ソートオプションを示すためにヘッダーに表示される小さな矢印を取り除く方法はありますか?この列で並べ替えるヘッダーをクリックして、列ヘッダーのレイアウトを変更するときに矢印アイコンを表示したくないという機能を維持したいと思います。
Firebugは私のヘッダーを次のように表示します。
<th class="sorting" role="columnheader" tabindex="0" aria-controls="myTable" rowspan="1" colspan="1" style="width: 151px;" aria-label="Category: activate to sort column ascending">Category</th>
アイコンは、CSSクラスでbackground : url(..)
として定義されます。無効にする:
.sorting, .sorting_asc, .sorting_desc {
background : none;
}
jsfiddleを参照->http://jsfiddle.net/5V2Dx/注:このソリューションはデータテーブル1.9.x用です! !
更新。 datatables 1.10.xを使用する場合、ヘッダーアイコンをリセットするためのCSSは少し異なります。
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
background : none;
}
->http://jsfiddle.net/kqpv3ub9/(更新されたデモではdataTablesを使用しています1.10.11)
提示されたソリューションはどれも私にとってはうまくいきませんでした。しかし、私はこれを見つけました。
.dataTable > thead > tr > th[class*="sort"]:after{
content: "" !important;
}
PS .: DataTablesバージョン"datatables": "~1.10.2"
以下のようなデータテーブルプロパティを使用できます。データテーブルの列からソートアイコンが非表示になります。
"targets": 'no-sort',
"bSort": false,
"order": []
DataTablesの新しいバージョンの場合:
<style>
.dataTable > thead > tr > th[class*="sort"]::after{display: none}
</style>
矢印には特定のクラスが関連付けられています。次のCSSを使用して、これらの要素を非表示にできます。
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
display: none;
}
クイックトリック(これにより並べ替えボタンが非表示になりますが、機能は引き続き機能します):-CSSの作成:
.no-sort::after { display: none!important; }
.no-sort { pointer-events: none!important; cursor: default!important; }
<th class="no-sort">Heading</th>
とにかくここに長い答えがあります。特定の列(base-idx:0)のソート機能を無効にするためにこのコードを使用できます。
$('#example').dataTable( {
"columnDefs": [
{ "orderable": false, "targets": 0 }
]
} );
ただし、最初の列でorderableをfalseに設定すると、これは完全に機能しません。ソート機能は停止しますが、ボタンはまだあります。なぜなら、デフォルトでは、最初の列は昇順( 'order':[[0、 'asc'])に設定されているためです。この「迷惑な」デフォルトを無効にするには、もう1つのオプション「order」を追加します。
$('#example').dataTable( {
"columnDefs": [
{ "orderable": false, "targets": 0 }
],
"order": [], // not set any order rule for any column.
});
(DataTables 1.10)必要ない場合、順序を無効にすることは、矢印コントロールが表示されないようにする1つの方法です。 "ordering"オプションをfalseとして指定することにより、テーブルの初期化でこれを行う。
例:
$("#example").DataTable({
"ordering": false
});
列の順序を有効または無効にします-それは簡単です!
注意:まったくソートしない
別の方法は、すべての列で順序付けを無効にすることです。次に、ソートされた列にのみ表示される制御矢印を使用して、プログラムで順序を設定できます:
var after = $('#after').DataTable({
"order": [[1,"asc"]], // sorting 2nd column
"columnDefs": [
{ "orderable": false, "targets": "_all" } // Applies the option to all columns
]
});
これは私のために働いたものです
.dataTable > thead > tr > th[class*=sort]:after{
display:none;
}
CSSを使用する:
.DataTables_sort_icon { display:none;}
データテーブル/ CDNの最新バージョンでは、これもまた異なります
table.dataTable thead .sorting:after
{
display: none;
}
フィルターを非表示にします。
よろしく
例:
<display:column property="......" title="......" sortable="true"/>
これにより、矢印が表示されずに列がソート可能になります。
_data-sortable="false"
_タグで_<th>
_属性を使用してから、JSでclick
トリガーを使用してremoveAttribute("class");
を実行しないのは、これはすべて少し複雑に思えます。
これは私のために働いた。
#sample_1>thead>tr>th.sorting, #sample_1>thead>tr>th.sorting_asc, #sample_1>thead>tr>th.sorting_desc {
background : none;
}
#sample_1>thead>tr>th.sorting:after, #sample_1>thead>tr>th.sorting_asc:after, #sample_1>thead>tr>th.sorting_desc::after {
content: none;
}
私の場合、これはうまくいきました。
.sorting:after,
.sorting_asc:after,
.sorting_desc:after{
content: "";
background: none !important;
}
このスタイルをページに追加します
table.dataTable thead .sorting::after {
opacity: 0.2;
content: "";
}
CSSの下に配置します。アイコンのみが非表示になりますが、ソートは機能します。
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc,
table.dataTable thead .sorting_asc_disabled,
table.dataTable thead .sorting_desc_disabled {
background-image: none!important;
}
$('#sample_1 thead tr th:first-child').removeClass('sorting');
これにより、カスタムアイコンのデフォルトの並べ替えアイコンを変更できます。これは、上記のIrshadの投稿と here のSuschilの投稿から派生したものです。フォントのレンダリングが無効になっているブラウザのためにこれを行う必要がありましたが、これは私たちの制御外でした。
.dataTable > thead > tr > th[class*="sort"]::after{display: none}
table.dataTable thead .sorting { background: url('/Content/images/sort-both.png') no-repeat center right; }
table.dataTable thead .sorting_asc { background: url('/Content/images/sort-asc-list.png') no-repeat center right; }
table.tabledataTable thead .sorting_desc { background: url('/Content/images/sort-desc-list.png') no-repeat center right; }
CSSクラス_sorting_asc
_および_sorting_desc
_はアイコンをもたらします。
特定のテーブルの修正をローカライズする最も簡単なソリューションは、テーブルが初期化されたら、fnInitCompleteで次のことを行います。
$(TABLE).find("thead th").removeClass("sorting_asc");
列から並べ替えアイコンを非表示にする別の解決策があります。ヘッダーにcssクラスを適用してみましょう。
<th class="sorting_disabled"></th>
スタイルでCSSクラスを定義します
.sorting_disabled
{
background-image:none !important;
}
このソリューションは、jquery datatableバージョン1.10以降で機能し、テストされました。
DataTables 1.10.7の場合、 davidkonrad cssスタイルの小さなバリアント:
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
background : none;
}
「th」要素を含めます。