Главная страница
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.019 c
14-73850
Darts
2002-08-28 13:44
2002.09.23
Другие компиляторы Pascal


14-73816
Undert
2002-08-24 18:39
2002.09.23
Кто здесь фидошник ????


1-73629
Jony
2002-09-11 18:49
2002.09.23
Маразмы сравнения


1-73622
carmen
2002-09-11 23:19
2002.09.23
Как имея DFM файл построить по нему форму программно


3-73556
vol_k
2002-09-03 13:28
2002.09.23
Ошибка при корректировке списка полей компонента TTable