Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.15;
Скачать: CL | DM;

Вниз

Использование RepositoryItem в TcxGrid   Найти похожие ветки 

 
SterhBy   (2007-02-20 13:05) [0]

Использую BDS 2006 (C++ Builder) и TcxGrid версии 5.20.

Есть таблица PARAMS (tblParams) следующей структуры (условно):
TAG String(10)
VALUE String(100)
FLAG Integer
Использую TcxGrid (dbtvDocActionParams) для ее редактирования.
Специфика в том, что для полей с FLAG=1 мне надо отображать поле VALUE не просто в виде TextEdit, а в виде ButtonEdit.
Это для того, что-бы иметь возможность выбрать значение из списка...
Для этого использую cxEditRepository. Создаю там TextEdit с именем cxEditRepositoryTextItem и ButtonEdit с именем cxEditRepositoryButtonValueList.

Добавляю в грид обработчик:
dbtvDocActionParamsFocusedRecordChanged(.....)
{
 if(odsActionParamsFLAG->AsInteger == 1)
   dbtvDocActionParamsVALUE->RepositoryItem = cxEditRepositoryButtonValueList;
 else
   dbtvDocActionParamsVALUE->RepositoryItem = cxEditRepositoryTextItem;
}

Вроде как все работает, кнопочка даже отображается в текущем поле если FLAG=1 и прячется если FLAG=0, вот только при перемещении по записям выдает AccessViolation.

Пробовал иначе. Статически установить для колонки VALUE значение RepositoryItem = cxEditRepositoryButtonValueList и изменять Visible для самой кнопки. Кнопка постоянно видна.

dbtvDocActionParamsFocusedRecordChanged(.......)
{
 dbtvDocActionParamsVALUE->RepositoryItem->Properties->Buttons->Items[0]->Visible = odsActionParamsFLAG->AsInteger == 1;
}

Как это побороть?


 
SterhBy   (2007-02-20 15:18) [1]

Разобрался...
Нужно обрабатывать событие GetPropertiesForEdit.



Страницы: 1 вся ветка

Текущий архив: 2007.04.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
15-1174567505
xman
2007-03-22 15:45
2007.04.15
StarTeam


2-1174362365
Jump
2007-03-20 06:46
2007.04.15
Приоритет разблокирования


15-1174208964
kolyakspb
2007-03-18 12:09
2007.04.15
web сервисы


2-1174986425
Sonia
2007-03-27 13:07
2007.04.15
DBCheckBox


2-1174490931
vikm
2007-03-21 18:28
2007.04.15
Ошибка ADOQuery.