ComboBoxComponent.razor 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. @inherits DataFilterBaseComponent<ComboBoxControl>
  2. <select style="@GetStyle"
  3. name="@Control.Name"
  4. disabled="@IsDisabled"
  5. @onchange="OnChanged">
  6. @foreach (var item in Control.Items)
  7. {
  8. <option selected="@(item == Control.SelectedItem)"
  9. value="@item">
  10. @item
  11. </option>
  12. }
  13. </select>
  14. @code {
  15. private void OnChanged(ChangeEventArgs e)
  16. {
  17. Control.SelectedItem = e.Value;
  18. ComboBoxChange();
  19. Refresh();
  20. }
  21. protected override void OnParametersSet()
  22. {
  23. base.OnParametersSet();
  24. if (Control.Items.Count == 0)
  25. {
  26. Control.FillData();
  27. ControlFilterRefresh();
  28. }
  29. else
  30. {
  31. if (Control.SelectedIndex == -1)
  32. Control.SelectedIndex = 0;
  33. Control.SelectedItem = Control.Items[Control.SelectedIndex];
  34. Control.Text = Control.SelectedItem.ToString();
  35. }
  36. // before or after ?
  37. Control.FilterData();
  38. }
  39. private void ComboBoxChange()
  40. {
  41. ControlFilterRefresh();
  42. Control.OnSelectedIndexChanged(null);
  43. }
  44. }