Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как сделать, чтобы в гриде редактировать [D6, Paradox]


Oleg2 ©   (2004-09-24 06:41:00) 

записи можно было, а добавлять нельзя?


Vasis   (2004-09-25 11:01:00) [1]

В DevExpress QuantumGrid:
OptionsBehavior.edgoEditing - отвечает за возможность редактирования,
OptionsDB.CanInsert - за возможность добавления записей...

Если первый поставить в True, а второй - в False, то получится сабж...


KSergey   (2004-09-25 08:01:00) [2]

> [9] сергей1   (24.09.04 11:56)
> кстати поправка, флаги не нужны, я сейчас проверил - код
> form1.ADOQuery1.SQL.Text:='insert into table1(index) values
> (10)';
> form1.ADOQuery1.ExecSQL;
>
> работает даже при установленном для Query1BeforeInsert abort'e.
> Т.е. это событие не наступает при программном insert'e.
> Я почему-то думал, что это не так.

Разумеется! Вы рассматриваетет совсем не тот случай. Before/after Insert вызывается только при вызове метода DataSet.Insert/Append.
А то, что вы хрен знает какими методами хрен знает куда чего-то добавляете - како-либо другой DataSet совершенно не обязан за этим следить ;)


сергей1   (2004-09-24 11:56:00) [3]

кстати поправка, флаги не нужны, я сейчас проверил - код

form1.ADOQuery1.SQL.Text:='insert into table1(index) values (10)';
form1.ADOQuery1.ExecSQL;

работает даже при установленном для Query1BeforeInsert abort'e. Т.е. это событие не наступает при программном insert'e. Я почему-то думал, что это не так.


bon   (2004-09-24 10:02:00) [4]

Я использую DBGridEh и св-во
DBGridEh1.AllowedOperations:=DBGridEh1.AllowedOperations- [alopInsertEh]-[alopAppendEh]


сергей1   (2004-09-24 08:05:00) [5]

флаги тоже подойдут. грид один хрен обновлять надо после программного insert'a.

> И за это спасибо
3 раза спасибо сказал ! а то чаще всего здесь народ рекомендацию получит и испарится даже один раз не поблагодарив


Oleg2   (2004-09-24 07:39:00) [6]

И за это спасибо.


KSergey   (2004-09-24 07:27:00) [7]

> [3] сергей1   (24.09.04 07:09)
> программно добавляешь запись другим query

Не обязательно. Просто в ADOQuery1BeforeInsert добавить флажек, который взводить при программном добавлении.


Oleg2   (2004-09-24 07:11:00) [8]

Ещё раз спасибо.


сергей1   (2004-09-24 07:09:00) [9]

программно добавляешь запись другим query


Oleg2   (2004-09-24 06:55:00) [10]

Спасибо, а других способов нет?
В том смысле, чтобы програмно добавлять можно было, а вручную нет.


сергей1   (2004-09-24 06:47:00) [11]

так например

procedure TForm1.ADOQuery1BeforeInsert(DataSet: TDataSet);
begin
abort;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо