initDataTable method

void initDataTable({
  1. List<DataTableColumn<T>> initTableColumns = const [],
  2. List<DataTableAdditionColumn> additionColumns = const [],
})

Implementation

void initDataTable({
  List<DataTableColumn<T>> initTableColumns = const [],
  List<DataTableAdditionColumn> additionColumns = const [],
}) {
  clearDataTable();
  this.initTableColumns = List.from(initTableColumns);
  this.additionColumns = additionColumns;
  final List<DataTableColumn<T>> tableColumnsContent = [];
  final List<DataTableColumn<T>> fixedColumnsRight = [];
  final List<DataTableColumn<T>> fixedColumnsLeft = [];
  for (var element in this.initTableColumns) {
    if (element.fixedColumn == FixedColumn.left) {
      fixedColumnsLeft.add(element);
    } else if (element.fixedColumn == FixedColumn.right) {
      fixedColumnsRight.add(element);
    } else {
      tableColumnsContent.add(element);
    }
  }
  if (this.additionColumns.isNotEmpty) {
    for (var element in this.additionColumns) {
      this.initTableColumns.insert(
            0,
            DataTableColumn<T>(
              name: '',
              key: element.toString(),
              width: getWithAdditionColumn(element),
            ),
          );
      if (fixedColumnsLeft.isNotEmpty) {
        fixedColumnsLeft.insert(
          0,
          DataTableColumn<T>(
            name: '',
            key: element.toString(),
            width: getWithAdditionColumn(element),
          ),
        );
      } else {
        tableColumnsContent.insert(
          0,
          DataTableColumn<T>(
            name: '',
            key: element.toString(),
            width: getWithAdditionColumn(element),
          ),
        );
      }
    }
  }
  _state.tableColumnsContent = tableColumnsContent;
  _state.fixedColumnsRight = fixedColumnsRight;
  _state.fixedColumnsLeft = fixedColumnsLeft;
}