createRow method

SimpleTableRow createRow(
  1. List cellValues
)

Implementation

SimpleTableRow createRow(List<dynamic> cellValues) {
  final row = SimpleTableRow()..data = cellValues;
  var colLen = columns.length;
  if (colLen > cellValues.length) {
    colLen = cellValues.length;
  }
  for (var i = 0; i < colLen; i++) {
    final column = columns[i];
    final value = cellValues[i];
    SimpleCell? cell;
    if (value is SimpleTableHref) {
      cell = row.createHrefCell(value);
    } else if (value is SimpleTableImage) {
      cell = row.createImageCell(value);
    } else if (value is Component) {
      cell = row.createComponentCell(value);
    } else if (value is List) {
      cell = row.createMultiLineCell(value);
    } else {
      var valueStr = '';
      if (value == null) {
        valueStr = '';
      } else if (value is num) {
        valueStr = value.toStringAsFixed(column.precision);
      } else if (value is DateTime) {
        valueStr = formatDateHum(value);
      } else {
        valueStr = value.toString();
      }
      cell = row.createCell(valueStr);
    }

    final vAlign = column.vAlign;
    if (vAlign == 'center') {
      cell.nodeRoot.style.justifyContent = 'center';
    }
    if (vAlign == 'right') {
      cell.nodeRoot.style.justifyContent = 'flex-end';
    }
  }
  addRow(row);
  return row;
}