Форум: "Основная";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
ВнизИспользование 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.057 c