Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText / 6 сообщений из 6, страница 1 из 1
03.03.2020, 15:48
    #39933607
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText
Всем привет.
В TcxGrid используется View типа TcxGridBandedTableView.
Источником данных является мой наследник TcxCustomDataSource.
Хочется в ячейках отображать свой текст, не влияющий на порядок сортировки и т.д. Для чего был перекрыт метод GetDisplayText() родителя.
Выяснилось, что GetDisplayText вызывается лишь для первого (нолевого, то есть) бэнда, для второго - не вызывается.
А надо для второго. Что бы подкрутить?


Например:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
interface

  TpiDSObjInvoice = class(TcxCustomDataSource)
...

    function GetDisplayText(ARecordHandle: TcxDataRecordHandle; AItemHandle:
      TcxDataItemHandle): string; override;
  end;

implementation

function TpiDSObjInvoice.GetDisplayText(ARecordHandle: TcxDataRecordHandle;
  AItemHandle: TcxDataItemHandle): string;
begin
  Result := '****';
...
Рейтинг: 0 / 0
03.03.2020, 16:05
    #39933620
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText
Датасоурс ничего не знает ни о каких бэндах - это тупо визуальщина и к данным никакого отношения не имеет
...
Рейтинг: 0 / 0
03.03.2020, 16:13
    #39933628
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText
white_nigger
Датасоурс ничего не знает ни о каких бэндах - это тупо визуальщина и к данным никакого отношения не имеет

Мне и не надо, чтобы он знал.
В гриде сколько-то столбцов. Шесть из них - в первом бенде, остальные - во втором.
В базовом классе TcxCustomDataSource есть метод GetValue, он вызывается для каждого столбца.
Метод GetDisplayText с такой же (почти) сигнатурой вызывается только для тех столбцов, которые в первом бенде.

Код: pascal
1.
2.
3.
4.
  TcxCustomDataSource = class

    function GetDisplayText(ARecordHandle: TcxDataRecordHandle; AItemHandle: TcxDataItemHandle): string; virtual;
    function GetValue      (ARecordHandle: TcxDataRecordHandle; AItemHandle: TcxDataItemHandle): Variant; virtual; 


- то есть, датасорс что-то он о бэндах знает?
...
Рейтинг: 0 / 0
03.03.2020, 16:15
    #39933631
ёёёёё
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText
white_nigger
Датасоурс ничего не знает ни о каких бэндах - это тупо визуальщина и к данным никакого отношения не имеет


я, конечно, могу отрисовать нужный текст или использовать GetDisplayText() физического столбца View, но это же неверно, идеологически? Кто-то же добавил протектед GetDisplayText() в базовый класс датасорца, и виртуальным его сделал.
...
Рейтинг: 0 / 0
03.03.2020, 20:43
    #39933727
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText
ёёёёё
то есть, датасорс что-то он о бэндах знает?
Ещё раз - нет. Что конкретно у тебя происходит, сказать не могу - шар хрустальный проетерял
...
Рейтинг: 0 / 0
03.03.2020, 21:49
    #39933736
ъъъъъ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText
white_nigger
ёёёёё
то есть, датасорс что-то он о бэндах знает?
Ещё раз - нет. Что конкретно у тебя происходит, сказать не могу - шар хрустальный проетерял

Да, что-то у меня. Сделал тестовое приложение с двумя бэндами - все ОК.

Возможно, это из-за того, что я столбцы второго бэнда в рантайме создаю. :(
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / TcxGrid+TcxGridBandedTableView: в TcxCustomDataSource не вызывается GetDisplayText / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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