Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Внизнужен совет ОПЫТНЫХ мастеров Найти похожие ветки
← →
MORA (2004-07-26 16:28) [0]как делают нормальные мастера при редактировании записей?
1. прямо в гриде
2. кладут на форму dbEdit (например), тут же кнопки нафигации (ДБНафигатор)
3. в одной форме - грид и кнопки нафигации, при нажатии на к-рые откр. другая форма редактирования...
Если 3, то:
- когда вызывать DataSet.Edit? В вызывающей форме или когда открывается форма редактирования?
- когда вызывать DataSet.Post? В вызывающей форме - если форма редактирования закрылась удачно (ModalResult = mrOk) или в обработчике кнопки Ок формы редактирования?
Фух. Пока фатит вопросов.
← →
Vlad © (2004-07-26 16:31) [1]
> MORA (26.07.04 16:28)
> как делают нормальные мастера при редактировании записей?
Как делают нормальные мастера - не знаю, а реальные пацаны делают в зависимости от задачи. Все три варианта приемлемы, но для одной задачи что-то может быть более удобно чем другое.
← →
MORA (2004-07-26 16:32) [2]Еще:
Как проверять заполнены ли все поля? В обработчике кнопки Ок формы редактирования или в BeforePost DataSet"a?
← →
Sandman25 © (2004-07-26 16:34) [3]>Если 3, то:
if ... then
begin
Edit;
...
Post;
...
end;
То есть время между Edit и Post получается минимальным, что очень хорошо для многопользовательской работы
А вообще читай [1] Vlad © (26.07.04 16:31)
← →
Sandman25 © (2004-07-26 16:36) [4][2] MORA (26.07.04 16:32)
Форма не должна ничего знать о датасете.
На входе она получает var MzRecordType, из него берет данные, в него и закладывает и возвращает True/False. А "снаружи" уже анализируется код возврата и в случае необходимости данные записываются.
← →
MORA (2004-07-26 16:41) [5]а как не допустить закрытия формы, пока не введены корректные данные (или не нажата отмена)?
← →
Vlad © (2004-07-26 16:42) [6]
> MORA (26.07.04 16:41) [5]
TForm.OnCloseQuery см. параметр CanClose
← →
Соловьев © (2004-07-26 16:42) [7]
> а как не допустить закрытия формы, пока не введены корректные
> данные (или не нажата отмена)?
обрабатываешь эти 2 события
← →
MORA (2004-07-26 16:46) [8]
> обрабатываешь эти 2 события
Вот у меня 2 кнопки: Ок и Отмена (ModalResult mrOk и mrCancel соответственно). Если Форма редактирования не знает ничего о ДатаСете, то что мне проверять в OnCloseQuery?
Обработать Отмену - понятно как.
← →
Соловьев © (2004-07-26 16:47) [9]
> Если Форма редактирования не знает ничего о ДатаСете, то
> что мне проверять в OnCloseQuery?
как это не знает?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.03 c