Вниз
Скачать: CL | DM;

Изменения в наборе данных   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
1-70795
AlexAlex
2002-07-10 12:30
2002.07.22
Как получить имя выбранного (с путем) файла в TShellListView?


3-70659
DPashin
2002-07-01 09:32
2002.07.22
Константы и прагмы


1-70829
~E~R~R~O~R~
2002-07-10 19:52
2002.07.22
INI!!!!


6-70843
Fox Molder
2002-05-07 10:57
2002.07.22
а про IPX кто-нить знает, а то server - Novel3 :( TCP IP-нету.


14-70891
mifi
2002-05-28 00:16
2002.07.22
HOME PNA




   Наверх