我正在使用 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>
答案 0 :(得分:41)
图标在CSS类中定义为background : url(..)
。通过以下方式禁用它们:
.sorting, .sorting_asc, .sorting_desc {
background : none;
}
参见jsfiddle - &gt; http://jsfiddle.net/5V2Dx/ 注意:此解决方案适用于数据表1.9.x !!
<强>更新即可。使用数据表1.10.x时,用于重置标题图标的CSS有点不同:
table.dataTable thead .sorting,
table.dataTable thead .sorting_asc,
table.dataTable thead .sorting_desc {
background : none;
}
参见 - &gt; http://jsfiddle.net/kqpv3ub9/ (更新的演示使用的是dataTables 1.10.11 )
答案 1 :(得分:23)
所提出的解决方案都不适合我。但我刚刚找到了这个;
.dataTable > thead > tr > th[class*="sort"]:after{
content: "" !important;
}
PS。:DataTables版本"datatables": "~1.10.2"
答案 2 :(得分:11)
您可以使用如下所示的数据表属性,它将隐藏排序图标 来自数据表列:
"targets": 'no-sort',
"bSort": false,
"order": []
答案 3 :(得分:6)
对于新版本的DataTables:
<style>
.dataTable > thead > tr > th[class*="sort"]::after{display: none}
</style>
答案 4 :(得分:4)
箭头有一些与之相关的类。您可以使用以下CSS隐藏这些元素。
table.dataTable thead .sorting:after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
display: none;
}
答案 5 :(得分:4)
快速技巧(这将隐藏排序按钮,但功能仍然有效): - 创建CSS:
.no-sort::after { display: none!important; }
.no-sort { pointer-events: none!important; cursor: default!important; }
&#13;
<th class="no-sort">Heading</th>
&#13;
无论如何这里是很长的答案,您可以使用这段代码来禁用特定列的排序功能(base-idx:0),AS WELL AS删除排序按钮:
$('#example').dataTable( {
"columnDefs": [
{ "orderable": false, "targets": 0 }
]
} );
&#13;
但是如果你在第一栏中将可订购设置为假,那么这项工作就不会完美。排序功能将停止,但按钮仍然存在。因为默认情况下,第一列设置为按升序排序(&#39;顺序&#39;:[[0,&#39; asc&#39;])。要禁用此功能,请“烦恼”默认情况下,再添加一个选项:&#34; order&#34;:
$('#example').dataTable( {
"columnDefs": [
{ "orderable": false, "targets": 0 }
],
"order": [], // not set any order rule for any column.
});
&#13;
答案 6 :(得分:3)
(由于 DataTables 1.10 )如果您不需要它,禁用排序是阻止箭头控件出现的一种方法。通过将&#34;排序&#34; 选项指定为 false ,在表初始化时执行此操作。
示例强>:
$("#example").DataTable({
"ordering": false
});
<强> Documentation: 强>
启用或禁用列的排序 - 就这么简单!
警告:根本没有排序。
另一种方法是禁用所有列的排序。然后,您可以使用仅显示在已排序列上的控制箭头以编程方式设置排序:
var after = $('#after').DataTable({
"order": [[1,"asc"]], // sorting 2nd column
"columnDefs": [
{ "orderable": false, "targets": "_all" } // Applies the option to all columns
]
});
<强> JSFiddle 强>
答案 7 :(得分:2)
这对我有用
.dataTable > thead > tr > th[class*=sort]:after{
display:none;
}
答案 8 :(得分:2)
使用CSS:
.DataTables_sort_icon { display:none;}
答案 9 :(得分:1)
示例:
<display:column property="......" title="......" sortable="true"/>
这将使列可以排序而不显示箭头。
答案 10 :(得分:1)
Unable to find modules for some sources, this is usually the result of either a bad import, a missing dependency in a package (or possibly a dev_dependency needs to move to a real dependency), or a build failure (if importing a generated file).
Please check the following imports:
`import 'generated_plugin_registrant.dart';` from flutterapp|lib/util/text_util_web_entrypoint.dart at 5:1
Failed after 91ms
使用DT 2.2.3在我的机器上工作
答案 11 :(得分:1)
为什么不在data-sortable="false"
标记上使用<th>
属性,然后在JS中使用removeAttribute("class");
触发器执行click
,这一切看起来有点复杂?
答案 12 :(得分:1)
在最新版本的datatables / CDN上,它又是不同的
table.dataTable thead .sorting:after
{
display: none;
}
隐藏过滤器。
此致
答案 13 :(得分:0)
下一个代码对我有用:
对于 asc 箭头,我使用了下一个 css:
table.dataTable thead .sorting_asc {
background-image: none;
}
查找很容易:使用 chrome 调试器查找列并开始禁用相关样式。然后你会找到相关的CSS。
使用相同的方法禁用下降箭头。
和平!
答案 14 :(得分:0)
我没有在以前的答案中看到的一种方法,并且我认为最好的方法是使用jQuery DataTable。这样,您可以更好地控制表的事件以及如何与表进行交互。
$('.tableclass').dataTable({
"order":[[0,"desc"],[1,"asc"]], //Enable ordering by first column then second
"aoColumnDefs": [
{ "bSortable": false, "aTargets": [ "_all" ] } //disable ordering events and takeout the icon
]
});
当然,CSS选项仍然是有效的。
答案 15 :(得分:0)
还有一个其他解决方案可以隐藏列中的排序图标, 将css类应用于标题,例如,
<th class="sorting_disabled"></th>
并以样式
定义css类.sorting_disabled
{
background-image:none !important;
}
此解决方案适用于jquery数据表版本1.10 +
答案 16 :(得分:0)
答案 17 :(得分:0)
将此样式添加到您的页面
table.dataTable thead .sorting::after {
opacity: 0.2;
content: "";
}
答案 18 :(得分:0)
放在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;
}
答案 19 :(得分:0)
{{1}}
答案 20 :(得分:0)
CSS类sorting_asc
和sorting_desc
带有图标。
对于特定表的本地化修复的最简单的解决方案是,一旦初始化表,在fnInitComplete中,执行以下操作:
$(TABLE).find("thead th").removeClass("sorting_asc");
答案 21 :(得分:0)
这对我有用。
#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;
}
答案 22 :(得分:0)
就我而言,这很好。
{{1}}
答案 23 :(得分:0)
这将允许您更改自定义图标的默认排序图标,我从上面的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; }
答案 24 :(得分:0)
对于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;
}
包括&#34; th&#34;元件。