Форум: "Базы";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
ВнизИзменения в наборе данных Найти похожие ветки
← →
RDA (2002-06-29 15:11) [0]Мастера подскажите как узнать изменил ли пользователь данные в наборе или нет, для того чтобы задать вопрос "Сохранять или нет изменения"
← →
Lola (2002-06-29 19:47) [1]В каком компаненте он вводит данные?
← →
Anatoly Podgoretsky (2002-06-29 20:20) [2]Если примененные тобой компоненты не поддерживают саойство modified, то как минимум помможет старинный, проверенный метод, сохранить и сравнить
← →
kaif (2002-06-30 04:28) [3]Нужно сделать переменную FModified: boolean. Затем в обработчик DataSource.OnDataChange вписать:
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if Field <> nil then
FModified := True;
end;
---------
Затем в событии OnCloseQuery формы проверить FModified:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if FModified then
case MessageDlg("Сохранить изменения", mtConfirmation,
[mbYes, mbNo, mbCance], 0) of
mrYes: SaveChanges;
mrCancel: CanClose := False;
end;
end;
----------
Затем написать процедуру сохранения, в которой FModified после успешного сохранения False Присваивать.
----------
В общем, что-то в этом роде...
← →
kaif (2002-06-30 04:34) [4]Можно, конечно и сравнить все, как предлагает, Anatoly Podgoretsky © (29.06.02 20:20)
:))
А затем, если пользователь все же хочет сохранить написать:
ShowMessage("Да тут сохранять нечего! Измените что-нибудь и нажмите OK еще раз");
(шутка)
← →
dus (2002-06-30 11:05) [5]Только способ, предложенный kaif"ом тоже не лишен недостатков. Представь, что пользователь вводит информацию: ввел один символ - отработали, ввел другой - опять отработали, хотя вроде бы и незачем...
RDA, пиши конкретнее, какой компонент используешь.
← →
Anatoly Podgoretsky (2002-06-30 11:45) [6]kaif © (30.06.02 04:34)
Нет нужды сохранять и оповещать пользователя, если нет изменения, оповещать нужно при только отмене операции если есть измененые данные, а иначе пользователь взмолится на такой добрый серсвис
← →
Lola (2002-06-30 12:59) [7]По-моему, сравнивать надо при потере фокуса компонентом и переменная - FModified := True, а запрашивать о сохранении, если выбрали другую операцию типа "добавить запись" или "печать", т.е. не только при закрытии формы. Тогда и все сравнивать не придется.
← →
PavelB (2002-07-01 09:58) [8]а почему бы не использовать свойство Modified TDataSet
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.07.22;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c