如何在制表符中创建/设置动态标题

时间:2019-11-18 11:29:47

标签: javascript tabulator

如何设置动态标题名称。是从JSON传递的。我也想知道如何隐藏多列,例如您有一个隐藏单列的示例,但是我想隐藏多列,并且我希望在单击按钮时显示相同的多列。

这些功能或问题与我们希望使用制表符进行开发的比较表相关,在该表中,我想比较多个特定列,并且希望隐藏我不想看到的列,并在需要时再次显示< / p>

2 个答案:

答案 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