AdeptDataTable constructor

AdeptDataTable({
  1. Key? key,
  2. String label = '',
  3. int noOfRowInPage = 10,
  4. bool isPager = true,
  5. AdeptDataTableTheme? theme,
  6. AdeptTextFieldTheme? searchTheme,
  7. void onSearch(
    1. String
    )?,
  8. Widget noFoundData()?,
  9. required List<AdeptDataTableMdl> dataTableMdlList,
})

Constructor allows you to define styling and value properties.

Implementation

AdeptDataTable(
    {super.key,
    this.label = '',
    this.noOfRowInPage = 10,
    this.isPager = true,
    AdeptDataTableTheme? theme,
    AdeptTextFieldTheme? searchTheme,
    this.onSearch,
    this.noFoundData,
    required this.dataTableMdlList})
    : searchTheme = searchTheme ??
          AdeptTextFieldTheme(
              fieldPadding: const EdgeInsets.only(top: 10, bottom: 5),
              labelPadding: const EdgeInsets.only(top: 5, bottom: 5)),
      theme = theme ?? AdeptDataTableTheme() {
  noOfRowInPage = isPager || dataTableMdlList.isEmpty
      ? noOfRowInPage
      : dataTableMdlList[0].dataRows.length;
  pagerLength = !isPager || dataTableMdlList.isEmpty
      ? 0
      : (dataTableMdlList[0].dataRows.length / noOfRowInPage).ceil();
  for (AdeptDataTableMdl mdl in dataTableMdlList) {
    mdl.dataRowsView = mdl.dataRows
        .map((e1) => DataRow(
            cells: e1.cells
                .map((e2) => e2.toCell(e2.theme ??
                    e1.rowCellsTheme ??
                    this.theme.cellsTheme ??
                    AdeptDataTableCellTheme()))
                .toList()))
        .toList();
  }
}