我有一个制表器表,其中三列右对齐,但是如果第一列中的“ value
”是“ xxx
”,则单元格中的值必须为更改为向左对齐,这可能吗?
var table = new Tabulator("#example_table", {
layout: "fitDataFill",
placeholder: "No Data Set Found",
columns: [{
title: "name",
field: "name",
sorter: "string",
headerFilter: "input",
headerFilterPlaceholder: "Filter Exception Name",
formatter: "label",
width: 70,
},
{
title: "name value",
field: "namevalue",
sorter: "string",
headerFilterPlaceholder: "Filter Exception Policy Data",
headerFilter: "input",
formatter: celldataswith,
align: "right"
},
{
title: "permited value",
field: "permitedvalue",
sorter: "string",
headerFilterPlaceholder: "Filter Exception Criteria",
headerFilter: "input",
formatter: celldataswith,
align: "right"
},
{
title: "breach value",
field: "breachvalue",
sorter: "string",
headerFilterPlaceholder: "Filter Exception Breach",
headerFilter: "input",
formatter: celldataswith,
align: "right"
}
],
rowFormatter: function(row, cell) {
//row - row component
var dataExceptionName = row.getData().Name;
if (dataExceptionName == "xxx") {
row.getElement().style.backgroundColor = "#A6A6DF";
**cell.getData().namevalue.style.align = "left";
cell.getData().permitedvalue.style.align = "left";
cell.getData().breachvalue.style.align = "left";**
}
},
});
答案 0 :(得分:0)
您可以使用自定义单元格格式化程序来实现此目的,在表格外定义格式化程序,然后在列定义中引用它
//define formatter
var alignFormatter = function(cell, formatterParams, onRendered){
var data = cell.getData();
if(data.name === "xxx"){
cell.getElement().style.align = "left";
}else{
cell.getElement().style.align = "right";
}
}
//column definition
{title: "name value", field: "namevalue", formatter:alignFormatter},