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

Код: 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
22.06.2019, 00:55
    #39829381
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
Повесьте обработчик на событие OnChangeNode (или как то так) и в этом обработчике меняйте свойство колонки cxEditRepositoryInGroupCheckBox. DisableEditor (или как то так) на true/false в зависимости от ситуации
...
Рейтинг: 0 / 0
22.06.2019, 01:28
    #39829388
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
Сделал для колонки обработку события, но получается не очень - если неактивна на редактирование, то показывает цифры, если активна, если активна, то чекбокс

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

вернее для 2 уровня )))
...
Рейтинг: 0 / 0
22.06.2019, 21:35
    #39829502
Dmitri Krizhanovski
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
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
22.06.2019, 22:11
    #39829507
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxDBTreeList и видимость колонки checkbox для 2-го уровня
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
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxDBTreeList и видимость колонки checkbox для 2-го уровня / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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