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

Вниз

Отмена вставки строки.   Найти похожие ветки 

 
veronika   (2002-09-02 10:08) [0]

Уважаемые знатоки, помогите пожалуйста. Как программно можно отменить вставку строки в grid. Если пользователь ошибочно вставил строку в конце таблицы и не заполнил ключевые поля, то нужно программно отменить вставку строки. Как это проще всего сделать. Помогите пожалуйста.


 
Lord Warlock ©   (2002-09-02 10:14) [1]

Если пользователь не заполнил ключевые поля, то лучше добавить проверки на OnValidate этих полей, или использовать ограничения и маски ввода/отображения полей(CustomConstrant), а не пытаться удалить. Если нужно все-таки отменять вставку, то можно использовать транзакции (Commit, Rollback)


 
wicked ©   (2002-09-02 10:19) [2]

в зависимости от условий в OnBeforePost вызывать Abort...


 
veronika   (2002-09-02 11:14) [3]

Написала процедурку
procedure TDM.quRazdBeforePost(DataSet: TDataSet);
begin
if DM.quRazd.FieldByName("n_razd").Value = " " then
abort;
end;
не работает.
А транзакции использовать не могу у меня не кэшированные изменения данных.


 
oss   (2002-09-02 11:27) [4]

ну перврое - если структура правельно составлена, то добавить забись без КЛЮЧЕВЫХ (тут как обязательных, если я правильно понял) у пользователя не получится, вылезет ошибка.
и второе - abort это выход (екстренный) из текущей процедуры,
т.е из quRazdBeforePost
а тебе надо что-то вроде DM.quRazd.Cancel, а не abort.
третье - для того чотбы пользователь не воодил что-либо ошибочно, то это лучше и проверять на вводе, а не при фиксирование


 
Desdechado ©   (2002-09-02 11:27) [5]

Cancel


 
veronika   (2002-09-02 12:55) [6]

Уважаемые мастера! А можно сделать так, чтобы ошибочно введенная строка исчезала. Если следовать всем вашим советам, то этого не происходит.


 
oss   (2002-09-02 14:42) [7]

а как ты определяешь что она ошибочная ?!



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
1-73727
Dasha
2002-09-11 13:53
2002.09.23
MDI Форма


14-73852
Mystic
2002-08-25 18:57
2002.09.23
Оформление кода


1-73712
Брат
2002-09-11 11:34
2002.09.23
Как использовать процедуру, описаную в другом модуле


1-73733
Демонов Е.В.
2002-09-11 15:20
2002.09.23
ComponentState


14-73813
2Me
2002-08-26 09:22
2002.09.23
Почему Дельфи?