rt_grid.dart 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'package:fis_lib_report/report/cellPostion.dart';
  2. import 'package:fis_lib_report/report/element_type.dart';
  3. import 'package:fis_lib_report/report/interfaces/cell.dart';
  4. import 'package:fis_lib_report/report/interfaces/grid.dart';
  5. import 'package:fis_lib_report/report/interfaces/report_element.dart';
  6. import 'package:fis_lib_report/report/rt_table.dart';
  7. import 'package:fis_lib_report/report_info/block_element_info_interface.dart';
  8. import 'package:fis_lib_report/report_info/element_info.dart';
  9. import 'package:fis_lib_report/report_info/rt_cell_info.dart';
  10. class RTGridInfo extends ElementInfo {
  11. @override
  12. List<RTColumnDefinition>? columnDefinitions = [];
  13. @override
  14. List<RTRowDefinition>? rowDefinitions = [];
  15. bool? isDelete;
  16. bool? isInsertColumn;
  17. int? deleteRowIndex;
  18. int? deleteColumnIndex;
  19. bool? isMergeCell;
  20. int? mergeDeleteStartColumnIndex;
  21. int? mergeDeleteEndColumnIndex;
  22. Map<CellPostion, RTCellInfo>? cells = {};
  23. RTGridInfo.fromElement(RTTable table) : super.fromElement(table) {
  24. columnDefinitions = table.columnDefinitions;
  25. rowDefinitions = table.rowDefinitions;
  26. isDelete = table.isDelete;
  27. isInsertColumn = table.isInsertColumn;
  28. deleteRowIndex = table.deleteColumnIndex;
  29. deleteColumnIndex = table.deleteColumnIndex;
  30. isMergeCell = table.isMergeCell;
  31. mergeDeleteStartColumnIndex = table.mergeDeleteStartColumnIndex;
  32. mergeDeleteEndColumnIndex = table.mergeDeleteEndColumnIndex;
  33. table.cells!.forEach((key, value) {
  34. cells![key] = RTCellInfo.fromElement(value);
  35. });
  36. }
  37. }