powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxDBTreeList и видимость колонки checkbox для 2-го уровня
9 сообщений из 9, страница 1 из 1
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829380
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Необходимо сделать видимыми чекбоксы только для второго уровня вложенности. Сделал для колонки обработку события, но получается не очень - если неактивна на редактирование, то показывает цифры, если активна, то чекбокс. А мне нужно показывать чекбокс только для второго уровня.

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
procedure TfrmConfig.cxDBTLInGroupGetEditProperties(
  Sender: TcxTreeListColumn; ANode: TcxTreeListNode;
  var EditProperties: TcxCustomEditProperties);
begin
  IF DM.pFIBMDLPResidentGroups.FieldValues['TREE_LEVEL']=2 THEN
  EditProperties:=cxEditRepositoryInGroupCheckBox.Properties else
  EditProperties:=cxEditRepositoryInGroupText.Properties;
end;
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829381
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повесьте обработчик на событие OnChangeNode (или как то так) и в этом обработчике меняйте свойство колонки cxEditRepositoryInGroupCheckBox. DisableEditor (или как то так) на true/false в зависимости от ситуации
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829388
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал для колонки обработку события, но получается не очень - если неактивна на редактирование, то показывает цифры, если активна, если активна, то чекбокс

Вы повесили событие на GetEditingProperties а нужно на GetEditProperties. Тогда Чекбоксы будут для всего дерева, а не только для редактируемой ячейки
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829419
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,
повесил на GetEditProperties исходя из текста
на самом деле и так и так пробовал.
но на GetEditProperties видно цифры, а при попытке редактировать появляются чекбоксы.
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829448
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧЯДНТ
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829491
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimaBr,
ну все-равно 1 или 0 остается, а хотелось бы их убрать совсем )))
оставить только чекбоксы для первого уровня.
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829492
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
evgen29DimaBr,
ну все-равно 1 или 0 остается, а хотелось бы их убрать совсем )))
оставить только чекбоксы для первого уровня.

вернее для 2 уровня )))
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829502
Dmitri Krizhanovski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29,

Если в этом же ключе, то где-то так:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TForm1.cxDBTreeList1checkGetDisplayText(Sender: TcxTreeListColumn;
  ANode: TcxTreeListNode; var Value: string);
begin
  Value := '';
end;

procedure TForm1.cxDBTreeList1checkGetEditProperties(Sender: TcxTreeListColumn;
  ANode: TcxTreeListNode; var EditProperties: TcxCustomEditProperties);
begin
  if ANode.Level = 1 then
    EditProperties := cxEditRepository1CheckBoxItem1.Properties
  else
    EditProperties := cxEditRepository1TextItem1.Properties;
end;
...
Рейтинг: 0 / 0
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
    #39829507
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
evgen29DimaBr,
ну все-равно 1 или 0 остается, а хотелось бы их убрать совсем )))
оставить только чекбоксы для первого уровня.
А где в первом посте видно что хочется избавиться от 0/1 ???

Здравствуйте! Необходимо сделать видимыми чекбоксы только для второго уровня вложенности. Сделал для колонки обработку события, но получается не очень - если неактивна на редактирование, то показывает цифры, если активна, то чекбокс. А мне нужно показывать чекбокс только для второго уровня.




код
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
procedure TForm1.cxDBTreeList1cxDBTreeListColumn2GetEditProperties(Sender: TcxTreeListColumn; ANode: TcxTreeListNode;var EditProperties: TcxCustomEditProperties);
begin
  if ANode.Level=1 then EditProperties := cxEditRepository1CheckBoxItem1.Properties
end;

procedure TForm1.cxDBTreeList1cxDBTreeListColumn2GetDisplayText(Sender: TcxTreeListColumn; ANode: TcxTreeListNode; var Value: String);
begin
  if ANode.Level<>1 then Value := '';
end;

procedure TForm1.cxDBTreeList1FocusedNodeChanged(Sender: TcxCustomTreeList; APrevFocusedNode, AFocusedNode: TcxTreeListNode);
begin
  cxDBTreeList1cxDBTreeListColumn2.Options.Editing := AFocusedNode.Level = 1;
end;

...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxDBTreeList и видимость колонки checkbox для 2-го уровня
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]