Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
6-70854
Jeck
2002-05-13 12:11
2002.07.22
Вопрос


1-70783
race1
2002-07-09 15:47
2002.07.22
незнаю


6-70852
GatesBill
2002-05-12 15:55
2002.07.22
как передать параметры исполняемому файлу


3-70594
KAA
2002-06-28 18:00
2002.07.22
Время выполнения запроса


3-70669
cyberwarlock
2002-07-02 12:03
2002.07.22
Небольшая проблемка с TDataBase





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский