report_table_builder 1.0.6 copy "report_table_builder: ^1.0.6" to clipboard
report_table_builder: ^1.0.6 copied to clipboard

A report table builder flutter widget for your flutter applications.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:report_table_builder/report_table/models/report_table_model.dart';
import 'package:report_table_builder/report_table/models/table_data_place_holder.dart';
import 'package:report_table_builder/report_table/report_table_builder.dart';
import 'package:report_table_builder/report_table/utils/report_table_utils.dart';

class TableDataSource {
  static List<String> mainHeadersTitle = [
    "Today",
    "Last Day",
  ];
  static Map<String, List<String>> subHeadersTitleList = {
    "Today": ["Target", "Sales", "%"],
    "Last Day": ["Target", "Sales", "%"],
  };

  static List<String> rightTableRowData = [
    "5023", "5000", "99", "8000", "8000", "100",
  ];

  static int noColumn = ReportTableUtils.countTotalHeaderItem(mainHeadersTitle, subHeadersTitleList);

  static List<TableDataPlaceHolder> rowData = List.generate(20, (index) {

    return TableDataPlaceHolder(
      leftCellValue: "Outlet ${index + 1}",
      leftCellItemColor: (index+1) % 5 == 0 ? Colors.red : ReportTableUtils.cellTextColor,
      leftCellItemIsBold: (index+1) % 5 == 0,
      rightCellValues: List.generate(TableDataSource.noColumn, (i) {
        return (i < rightTableRowData.length) ? rightTableRowData[i] : "N/A"; //this is Right Table Row data
      }),
    );

  });

  ReportTableModel table = ReportTableModel(
    leftPortionHeader: "Channel",
    leftPortionSubHeader: "Region",
    rightPortionHeadersTitle: mainHeadersTitle,
    rightPortionSubHeadersTitleList: subHeadersTitleList,
    rowItems: rowData,
  );

  ReportTableModel getTableModel() => table;
}


void main() {
  runApp(const MaterialData());
}

class MaterialData extends StatelessWidget {
  const MaterialData({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(title: Text("Report Table Builder"), centerTitle: true,),
        body: Center(
          child: ReportTableBuilder(
            cellHeight: ReportTableUtils.headerHeight,
            subCellHeight: ReportTableUtils.subHeadersHeight,
            cellWidth: ReportTableUtils.columnCellWidth,
            stickyCellWidth: ReportTableUtils.stickyColumnWidth,
            tableModel: TableDataSource().getTableModel(),
            itemTextSize: 12,
          ),
        ),
      ),

    );
  }
}
2
likes
0
points
35
downloads

Publisher

unverified uploader

Weekly Downloads

A report table builder flutter widget for your flutter applications.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter

More

Packages that depend on report_table_builder