selectedRanges property

List<HijriDateRange>? get selectedRanges

List of selected ranges in the SfHijriDateRangePicker.

It is only applicable when the selectionMode set as DateRangePickerSelectionMode.multiRange for other selection modes this property will return as null.

Implementation

List<HijriDateRange>? get selectedRanges => _selectedRanges;
set selectedRanges (List<HijriDateRange>? ranges)

Selects the given date ranges programmatically in the SfHijriDateRangePicker by checking that the ranges of dates falls in between the minimum and maximum date range.

If it is not null the widget will render the date selection for the ranges set to this property, even the SfHijriDateRangePicker.initialSelectedRanges is not null.

Note: If any date ranges selected previously, will be removed and the selection will be drawn to the ranges of dates set to this property.

It is only applicable when the selectionMode set as DateRangePickerSelectionMode.multiRange.

See also:


class MyAppState extends State<MyApp> {
HijriDatePickerController _pickerController = HijriDatePickerController();

 @override
 void initState() {
   _pickerController.selectedRanges = <HijriDateRange>[
     HijriDateRange(HijriDateTime.now().subtract(Duration(days: 4)),
         HijriDateTime.now().add(Duration(days: 4))),
     HijriDateRange(HijriDateTime.now().add(Duration(days: 11)),
         HijriDateTime.now().add(Duration(days: 16)))
   ];
   super.initState();
 }

 @override
 Widget build(BuildContext context) {
   return MaterialApp(
     home: Scaffold(
       body: SfHijriDateRangePicker(
         controller: _pickerController,
         view: HijriDatePickerView.month,
         selectionMode: DateRangePickerSelectionMode.multiRange,
       ),
     ),
   );
 }
}

Implementation

set selectedRanges(List<HijriDateRange>? ranges) {
  if (DateRangePickerHelper.isDateRangesEquals(_selectedRanges, ranges)) {
    return;
  }

  _selectedRanges =
      DateRangePickerHelper.cloneList(ranges)!.cast<HijriDateRange>();
  notifyPropertyChangedListeners('selectedRanges');
}