Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Вниз

Проверка компонентов на modified   Найти похожие ветки 

 
skiper   (2002-12-18 23:14) [0]

Подскажите, как проверить целую кучу редакторов (maskedit) на форме на признак модификации данных (например при закрытии формы). Данные компоненты размещены в разных фреймах, сведенных в общий фрейм. Я, к сожалению, пока ничего не нашел.


 
Prooksius   (2002-12-19 09:54) [1]

Ты хочешь послать запрос на сервер о сохранении только измененных полей?
У полей Dataseta, которые ассоциированы с данным Edit-ом по-моему должно быть cв-во modified или что-то в этом роде.
Иначе, как вариант, можно сделать массив boolean переменных, которые будут ставиться в тру при модификации соответствующего поля (эдита),
при закрытии формы формировать запрос по массиву.


 
Prooksius   (2002-12-19 09:55) [2]

У тебя maskedit не DB-Aware??
Тогда IMHO второй вариант.


 
Delirium^.Tremens   (2002-12-19 10:01) [3]

Я бы объявил глобальную переменную типа boolean, в событии OnChange для одного из MaskEdit написал, что эта переменная := true; и назначил этот обработчик для всех остальных MaskEdit"ов


 
Prooksius   (2002-12-19 10:05) [4]

2 Delirium^.Tremens © (19.12.02 10:01)
Тогда при изменении одного только поля получитая, что изменились все. А зачем? ИМХО, как раз такого и не надо.


 
Delirium^.Tremens   (2002-12-19 10:09) [5]

2Prooksius ©>
Что-то я не вижу где он сказал, что это нужно для каждого в отдельности? Если бы это было так, то никаких сложностей бы и не возникло кроме нудного кодописания.


 
Prooksius   (2002-12-19 10:14) [6]

2 Delirium^.Tremens © (19.12.02 10:09)

> как проверить целую кучу редакторов (maskedit) на форме
> на признак модификации данных

По-моему он об этом и спрашивал.
Так, автор?


 
skiper   (2002-12-21 03:36) [7]

Я использовал maskedit для того, чтобы не висеть в сетке, т.к dbedit сохраняет связь с полем. Необходимо определить, была ли модификация хотя бы одного компонента, не городя огорода из кода, что-то компактное, вроде циклического запроса на on close, но что-то не приходит ничего в башку. Если да- то транзакция на модификацию записи (это уже я знаю). Если нет - просто убить форму (это тоже ясно).


 
Andriano   (2002-12-21 09:09) [8]

<Не висеть в сетке> ?
Для этой цели предназначен DataSet и UpdateSQL. Именно для этого. И не надо городить огород.


 
Sergey Masloff   (2002-12-22 21:50) [9]

Andriano ©
><Не висеть в сетке> ?
>Для этой цели предназначен DataSet и UpdateSQL. Именно для >этого. И не надо городить огород.
Ну сделай TDatabase.Close посмотри что получится и потом напиши чем тебе помогли ДатаСет с АпдейтСиквелем. А пока Датабейзу Close не сделали все ресурсы распределенные под соединение заняты...


skiper ©
for i:=0 to Pred(ComponentCount) do
begin
if (Components[i] is TMaskEdit) then
begin
if (Components[i] as TMaskEdit).Modified then
begin
ShowMessage("Изменения были!");
Exit; // Если изменение одного достаточное основание
end;
end;
end;




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
3-48953
KIE
2002-12-22 22:47
2003.01.16
создание таблицы


1-48988
Tornado
2003-01-06 18:07
2003.01.16
Меню


1-49160
Jeka
2003-01-05 12:15
2003.01.16
строка


1-49118
Сергей
2003-01-05 12:22
2003.01.16
ПОМОГИТЕ


3-48890
Essense
2002-12-20 12:47
2003.01.16
ModifySQL





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский