我有一个制表器表,对齐

时间:2019-12-24 11:48:57

标签: tabulator

我有一个制表器表,其中三列右对齐,但是如果第一列中的“ 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";**
    }
  },

});

1 个答案:

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