Форум: "Базы";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];
ВнизОтмена вставки строки. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c