NumericColumn<T> constructor

NumericColumn<T>({
  1. required String label,
  2. required String value(
    1. T row
    ),
  3. T setValue(
    1. T row,
    2. String raw
    )?,
  4. double width = 120,
  5. bool includeInTotal = false,
  6. bool required = false,
  7. Comparable sortKey(
    1. T row
    )?,
  8. EditableCellBuilder<T>? cellBuilder,
  9. String? validate(
    1. String value
    )?,
  10. num? min,
  11. num? max,
  12. int decimals = 2,
})

Implementation

NumericColumn({
  required super.label,
  required super.value,
  super.setValue,
  super.width = 120,
  super.includeInTotal = false,
  super.required,
  super.sortKey,
  super.cellBuilder,
  super.validate,
  num? min,
  num? max,
  int decimals = 2,
}) : super(
        type: EditableColumnType.number,
        mono: true,
        normalize: (raw) {
          final n = double.tryParse(raw.replaceAll(',', '').trim());
          if (n == null) return raw;
          var v = n;
          if (min != null && v < min) v = min.toDouble();
          if (max != null && v > max) v = max.toDouble();
          return v.toStringAsFixed(decimals < 0 ? 2 : decimals);
        },
      );