![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как реализовать в Gride выборку отдельных записей CheckBox'ом [D7, IB6.x]
MZ © (2007-03-28 09:07:00)Уважаемые мастера. Использую DBGridEh.
надо сделать экпорт нескольких записей. Нужные записи пользователь выбирает CheckBox'ом
Пробовал:
(DBGridEh1.Columns[0].CheckBoxes:=true)
Запрос:
Select *, false as IS_ADD
from /Table/
Не получается...
Что я не так делаю?
Ильш (2007-03-28 11:10:00) [1]ну check-rb намного нагляднее и юзабилити выше...
позырил щас свои проекты
Select *, 0 as IS_ADD
from /Table/
вот в этом духе у меня... но тока вот грид DevExpress...
Jan (2007-03-28 11:05:00) [2]вообще всегда такие вещи делались через SelectedRows.
Ильш (2007-03-28 11:00:00) [3]да процедура ваще ахтунг... а в этом GridEh нету что ли такой фичи как DevExpress там можно присвоить занчения при которых chek или uncheck, по сути позволяется использовать для логического поля любый значения...
MZ (2007-03-28 10:18:00) [4]
> А зачем эта процедура вообще нужна?
>
Пробовал и с ней и без нее - результат такой же.
Sergey13 (2007-03-28 10:14:00) [5]> procedure TSverkaForm.DBGridEh1CellClick(Column: TColumnEh);
А зачем эта процедура вообще нужна?
MZ (2007-03-28 10:08:00) [6]
> Sergey13 © (28.03.07 09:53) [5]
>
> > [4] MZ (28.03.07 09:50)
>
> Я тоже не понял как у тебя что работает. Я же твоего кода
> не видел.
>
Есть набор записей (Select *, cast(0 as integer) as IS_ADD from /Table/) который отображается в DBGridEh.
DBGridEh1.Columns[0].CheckBoxes:=true;
DBGridEh1.Columns[0].FieldName:='IS_ADD';
В свойстве KeyList стоит 1 для true и 0 для false,
на событии OnCellClick
procedure TSverkaForm.DBGridEh1CellClick(Column: TColumnEh);
begin
if Column.FieldName='IS_ADD' then
begin
IDM.dsSverka.Edit;
if IDM.dsSverkaIS_ADD.Value=0 then
IDM.dsSverkaIS_ADD.Value:=1 else
IDM.dsSverkaIS_ADD.Value:=0;
IDM.dsSverka.Post;
end;
end;
Пользователь должен выбрать интересующие его записи CheckBox'ом. Затем
if IDM.dsSverkaIS_ADD.Value=1 then import...
Кликаю по записи-CheckBox cтановиться в True, но как только кликаю по другой записи CheckBox становиться в false...
Sergey13 (2007-03-28 09:53:00) [7]> [4] MZ (28.03.07 09:50)
Я тоже не понял как у тебя что работает. Я же твоего кода не видел.
MZ (2007-03-28 09:50:00) [8]
> Sergey13 © (28.03.07 09:48) [3]
Не понял... Поясни...
Sergey13 (2007-03-28 09:48:00) [9]> [2] MZ (28.03.07 09:42)
Ну значит ошибка в 17 строке.
MZ (2007-03-28 09:42:00) [10]
> Sergey13 © (28.03.07 09:26) [1]
>
> > Не получается...
> Вписать в программу не можешь или что не получается?
>
> Select *, cast(0 as integer) as IS_ADD
> from /Table/
>
> Попробуй так. Может и без cast пройдет - не помню.
>
Увы, не получается. Как только кликаешь по следующей записи, CheckBox становиться false...
Sergey13 (2007-03-28 09:26:00) [11]> Не получается...
Вписать в программу не можешь или что не получается?
Select *, cast(0 as integer) as IS_ADD
from /Table/
Попробуй так. Может и без cast пройдет - не помню.