Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.013 c
1-73703
KSergey
2002-09-11 10:07
2002.09.23
Можно ли в общем случае узнать какая компонента выкинула Except?


1-73647
kay
2002-09-12 17:59
2002.09.23
Angle


1-73595
France
2002-09-12 10:23
2002.09.23
Удалить выделенные пункты в ListBox


14-73866
VictorT
2002-08-28 13:06
2002.09.23
про *.bat файлы


4-73939
manton
2002-08-06 14:23
2002.09.23
Журнал событий




   Наверх