Я создаю динамические формы в моем приложении.Я использую элементы управления DevExpress, такие как:
NumericUpDown controlNumUpDown = null;
DateEdit controlDateEdit = null;
TextEdit controlTextEdit = null;
LookUpEdit controlComboBox = null;
SimpleButton controlButton = null;
MemoEdit controlMemo = null;
GridControl controlGrid = null;
CheckBox controlCheckBox = null;
CheckedListBoxControl controlCheckedListBoxControl = null;
RadioGroup controlRadioGroup = null;
LabelControl controlStaticText = null;
Теперь каждое значение элемента управления может полагаться на другое - когда поле видно или нет, включено или нет.
Итак, допустим, у нас есть дата редактирования (fieldId = 48) и LookUpEdit (выпадающий список).
Теперь Combobox определил динамический список как SQL-запрос, например:
Select * from indexes where inserted_date=Field.48
.
Список элементов в поле со списком должен обновляться при изменении даты в другом элементе управления.То же самое касается текстовых редакторов: если Field.48 будет TextEdit, он должен работать аналогичным образом, то же самое относится и к другим типам полей, приведенных в коде после.
Берегите себя - это только пример, так как яупомянул, что каждый элемент управления может полагаться на другой, он может даже идти в бесконечный цикл, если пользователь плохо его определяет (мне все равно), так же, как одно поле может полагаться на 100 других полей.
Так что вопрос в том, чтособытие является лучшим для этого?До сих пор я использовал Leave Event каждого элемента управления, но он не работает, если элемент управления не включен или не виден.
Иногда требуется скрыть какое-то поле, например, totalOfDollars (NumericEdit), но все же другое полеНапример, флажок (если флажок важен для документа) может опираться на скрытое поле: amountOfDollars.
Есть предложения?(все ответы приветствуются, они могут быть неразрешимыми событиями ...)