如何设置动态标题名称。是从JSON传递的。我也想知道如何隐藏多列,例如您有一个隐藏单列的示例,但是我想隐藏多列,并且我希望在单击按钮时显示相同的多列。
这些功能或问题与我们希望使用制表符进行开发的比较表相关,在该表中,我想比较多个特定列,并且希望隐藏我不想看到的列,并在需要时再次显示< / p>
答案 0 :(得分:0)
要隐藏列,您必须在表的声明中添加visible:false
作为参数。
示例:
columns:[{title: "Test Column", field: "test", sorter:"number", width: 100,visible:false}]
要隐藏/显示多列,首先必须确定要隐藏/取消隐藏的列
一种简单的方法是制作一个布尔状态的对象数组,例如:
var visibility =[];
visibility.push({col1_Status:true,col2_Status:true,col3_Status:false});
然后表的初始化将类似于:
columns:[{title: "Test Col1", field: "test1", sorter:"number", width: 100,visible:visibility[0].col1_Status},
{title: "Test Col2", field: "test2", sorter:"number", width: 100,visible:visibility[0].col2_Status},
{title: "Test Col3", field: "test3", sorter:"number", width: 100,visible:visibility[0].col3_Status}]
现在,您可以准备获取Jason数据并根据需要更改可见性。
以上过程也可以独立工作。任何时候您都可以访问多个数组值,更改其状态并重新更新制表符以隐藏/显示列。
您可以对列名应用相同的方法,同时更改title:
请注意,一旦在表中初始化了列,就无法更改它。更改标题(也就是数据)的唯一方法是删除现有列,然后将其替换为另一列。
要实现此目的,请使用:
table.deleteColumn("Column Name Here");
table.addColumn({title:"Name", field:"name"});
希望有帮助!
答案 1 :(得分:0)
制表器有一个选项,用于根据行数据的属性名称自动生成列名称。
您可以通过将 autoColumns 选项设置为true来启用此功能:
var table = new Tabulator("#example-table", {
data:tabledata,
autoColumns:true,
});
看看Autocolumns Example可以看到它的实际效果。
要隐藏多个列,您需要多次调用 hideColumn 或 showColumn 函数。该表在此期间仅重绘一次,那么您可以使用 blockRedraw 函数来防止在完成更新之前重绘该表:
table.blockRedraw(); //block table redrawing
table.hideColumn("name") //hide the "name" column
table.hideColumn("age") //hide the "age" column
table.restoreRedraw(); //restore table redrawing