getDropDownItems static method

Future<List<DropdownMenuItem<String>>> getDropDownItems(
  1. Object model,
  2. String valueText,
  3. String displayText, {
  4. String where = '',
  5. String orderSort = 'ASC',
  6. String orderBy = '1',
  7. String defaults = 'Select an Item',
  8. bool defaultOption = true,
})

Implementation

static Future<List<DropdownMenuItem<String>>> getDropDownItems(
  Object model,
  String valueText,
  String displayText, {
  String where = '',
  String orderSort = 'ASC',
  String orderBy = '1',
  String defaults = 'Select an Item',
  bool defaultOption = true,
}) async {
  var dropdownItems = <DropdownMenuItem<String>>[];
  var sql =
      'SELECT $valueText, $displayText FROM ${model.runtimeType.toString()} $where Order By $orderBy $orderSort';
  print(sql);
  var modelListDDL = await rf.db.get(model, sql);
  if (defaultOption && defaults.isNotEmpty)
    dropdownItems.add(DropdownMenuItem(child: Text(defaults), value: "0"));

  if (modelListDDL != null) {
    for (var item in modelListDDL) {
      var value = Dynamic(item).get(valueText);
      String display = Dynamic(item).get(displayText) as String;
      dropdownItems.add(
        DropdownMenuItem(child: Text(display), value: value.toString()),
      );
    }
  }

  return dropdownItems;
}