如何解决现有数据表中的制表符
我正在从一个已经过滤的数据表(来自DataTable.js)中使用groupBy方法生成一个制表器表,其中已经定义了日期范围和参数。新的制表器表格工作得很好,但是无论我已经从中创建groupby的表格中已经应用了哪些过滤器,它都能接收全部数据。我原来的数据表是:
var table = $('#datatable').DataTable();
并且带有过滤器的长度为20行。从该数据表创建制表符时,它将获取整个数据。有没有办法重用已经存在的相同过滤表来创建制表器groupBy方法?
这是我制表者的代码:
if(table!=null){
$('#datatable').DataTable().destroy();
}
var tableTab = new Tabulator('#datatable',{
groupToggleElement:"header",height:"100%",virtualDomBuffer: "100%",layout:"fitColumns",pagination:"local",//paginationSize:false,movableRows:false,groupBy:"Id",groupStartOpen:false,columns:[
{title:"a",field:"a",width:200},{title:"b",field:"b"},{title:"c",field:"c"},{title:"d",field:"d"},{title:"Id",field:"Id"},{title:"e",field:"e"},{title:"CreatedDate",field:"CreatedDate"},],});
tableTab.setFilter($('#select').val(),$('datepickerStart').datepicker,$( "#datepickerEnd").datepicker());
是否有一种方法可以从过滤后的table.DataTable()而不是从具有完整数据的整个“ #datatable”创建新的制表符? 示例:
select only a's in the last 10 days and groupBy b's.
谢谢
解决方法
您可以使用 initialFilter 选项在表加载时在其上设置过滤器,因此您无需调用 setFilter 功能:
var tableTab = new Tabulator('#datatable',{
groupToggleElement:"header",height:"100%",layout:"fitColumns",pagination:"local",movableRows:false,groupBy:"Id",groupStartOpen:false,initialFilter:[
{field:"a",type:"=",value:5000} //set an initial filter that will only show rows with an a value of 5000
],columns:[
{title:"a",field:"a",width:200},{title:"b",field:"b"},{title:"c",field:"c"},{title:"d",field:"d"},{title:"Id",field:"Id"},{title:"e",field:"e"},{title:"CreatedDate",field:"CreatedDate"},],});
您将需要为每个初始过滤器提供三个属性,要过滤的列的字段名称,Filter Function和要过滤的值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。