Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.21;
Скачать: CL | DM;

Вниз

Фиксация записи в DBGrid   Найти похожие ветки 

 
MishaS ©   (2003-04-03 10:56) [0]

Как мне добится фиксации записи (т.е. невозможности сдвинутся с текущей записи в DBGrid), пока пользователь этого не захочет, не
используя при этом DBGrid.Enabled:=False


 
stone ©   (2003-04-03 10:58) [1]

Чушь какая-то.

> пока пользователь этого не захочет

он никуда и не сдвинется. Перефразируй вопрос.


 
Mike Kouzmine ©   (2003-04-03 11:02) [2]

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


 
MishaS ©   (2003-04-03 11:10) [3]

Это мне требуется для того, чтобы пользователь мог редактировать
данную запись, а потом по нажатию кнопки(Button1), мог бы подтвердить или отменить изменение. В процедуре Button1OnClick
перед Post проверяется правильность введённых значений полей.


 
Mike Kouzmine ©   (2003-04-03 11:24) [4]

Сформулируй вопрос попонятнее.


 
MishaS ©   (2003-04-03 11:36) [5]

Как мне добится фиксации записи (т.е. невозможности сдвинутся с текущей записи в DBGrid), пока пользователь не нажмёт
кнопку (или соответствующий пункт в PopupMenu, связаного с DBGrid ) подтверждения или отмены сделанных изменений . В обработчике нажатия на кнопку содержится код, проверяющий корректность введённых данных.
При этом не используя DBGrid.Enabled:=False, т.к. в этом случае
я не смогу вызвать PopupMenu



 
Mike Kouzmine ©   (2003-04-03 11:39) [6]

На событие идущее перед перемещением (вставкой), проверять статус и если он не равен dsBrowse отменять его (перемещение или вставку)


 
stone ©   (2003-04-03 11:51) [7]

Если я правильно понял при Едит вызывается форма?
Тогда

Table1.Edit;
if EditForm.ShowModal = mrOk then
Table1.Post
else
Table1.Cancel;

у кнопок на форме должен быть установлен соответствующий ModalResult


 
MishaS ©   (2003-04-03 12:02) [8]

Mike Kouzmine, как и где(в TableBeforePost?) отменить перемещение?


 
Mike Kouzmine ©   (2003-04-03 12:22) [9]

Ну во первых ты сам сказал, что корректность заполнения полей проверяется (где?), я думаю в BeforePost, так и делай если не корректно, то raise Exception.Create, если ты пытаешься вставить (запись) или перейти на другую, то автоматически вызывается пост, и соответственно BeforePost. Наверное так, или наоборот.


 
sniknik ©   (2003-04-03 12:31) [10]

вообще не связыватся с dbконтролами, а делать типа - считал запись (селектом) перенес значения в Едиты (не в DBЕдиты!), редактируеш проверяеш, по кнопке инсерт с новыми значениями. ???

и плевать на какой записи стоиш (можно даже паралельно грид просматривать), редактируеш все одно ту запись.


 
Mike Kouzmine ©   (2003-04-03 12:39) [11]

Все правильно - нахрен они нужны (дб контролы).


 
Johnmen ©   (2003-04-03 12:46) [12]

>sniknik © (03.04.03 12:31)
>Mike Kouzmine © (03.04.03 12:39)
>Все правильно - нахрен они нужны (дб контролы).

Весьма спорное утверждение...
Только спорить не хочется...:)))




 
Mike Kouzmine ©   (2003-04-03 12:55) [13]

Забыл поставить :). (Это поможет?)


 
SanteR   (2003-04-03 13:01) [14]

Используй событие OnBeforeScroll, проверяй в обработчике, можно ли позволить перейти на другую запись, и, если нет, то выполни

Abort();


 
Johnmen ©   (2003-04-03 13:03) [15]

>Mike Kouzmine © (03.04.03 12:55)

Фу-у-у-у... Отлегло... ;-)))))))))))


 
Mike Kouzmine ©   (2003-04-03 13:04) [16]

Рад за Вас :)


 
sniknik ©   (2003-04-03 13:05) [17]

но в этом случае? почему нет. (нигде же не написано что вы их обязаны использовать)


 
Mike Kouzmine ©   (2003-04-03 13:08) [18]

А никто с Вами и не спорит. Аллах акбар.


 
Johnmen ©   (2003-04-03 13:11) [19]

>sniknik © (03.04.03 13:05)

Да нет, я не возражал. И не возражаю. Главное - вдумчивый подход...:)

>Mike Kouzmine © (03.04.03 13:04)

Была, была у меня подсознательная мысль, что не добиты два символа. :)
А что, мы уже перешли на "Вы" ? :^)


 
Mike Kouzmine ©   (2003-04-03 13:13) [20]

Да нет. Просто настроение романтическое какое-то.


 
AlexSerp ©   (2003-04-03 13:24) [21]

Возьми и поставь во всех нужных местах контроль на то, что набор данных находится в режиме просмотра. Если да, то идешь дальше.
Если нет (то значит идет вставка или редатирование), то запрешаешь выполнение.



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

Текущий архив: 2003.04.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.018 c
1-67384
Anton.
2003-04-10 09:42
2003.04.21
как передать параметр из одного работающего приложения в другое


1-67343
Bel
2003-04-08 16:57
2003.04.21
Что это значит? (про указатели)


1-67263
neodiX
2003-04-07 22:49
2003.04.21
Thread, Synchronize, BitBlt - в итоге белый битмап!


3-67179
Ренат
2003-04-03 16:43
2003.04.21
BDEClientDataSet и Lookup поле


8-67398
vidiv
2003-01-13 09:23
2003.04.21
запись и цифровка wav.