Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGid HeaderHint / 6 сообщений из 6, страница 1 из 1
22.11.2019, 10:59
    #39892739
mvb
mvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGid HeaderHint
Всем привет!

То ли слепой, то ли одно из двух. Где для TcxGridDBColumn прописать хинт для заголовка? ExpressQuantumGrid 6.
...
Рейтинг: 0 / 0
22.11.2019, 12:31
    #39892800
mvb
mvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGid HeaderHint
переформулирую - как задать хинт для заголовков колонок дб-грида? Знаю способ через MouseMove, но уверен, что есть штатный.
...
Рейтинг: 0 / 0
22.11.2019, 12:32
    #39892802
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGid HeaderHint
Возможно и нет такого "из коробки". Придется велосипедить тогда, типа самому из обработчика OnMouseMove отображать
...
Рейтинг: 0 / 0
22.11.2019, 13:32
    #39892863
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGid HeaderHint

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
type
TMycxGridBandHeaderViewInfo = class(TcxGridBandHeaderViewInfo)
  procedure InitHint(const AMousePos: TPoint; out AHintText: TCaption; out AIsHintMultiLine: Boolean; out ATextRect: TRect); override;
end;

TMycxGridBandViewInfo = class(TcxGridBandViewInfo)
    class function GetHeaderViewInfoClass: TcxGridBandHeaderViewInfoClass; override;
end;

TMycxGridBandsViewInfo = class(TcxGridBandsViewInfo)
  function GetItemClass: TcxGridBandViewInfoClass;override;
end;

TMycxGridBandedHeaderViewInfo = class(TcxGridBandedHeaderViewInfo)
  function GetBandsViewInfoClass: TcxGridBandsViewInfoClass;override;
end;

TMycxGridBandedTableViewInfo = class(TcxGridBandedTableViewInfo)
  function GetHeaderViewInfoClass: TcxGridHeaderViewInfoClass;override;
end;

TcxGridBandedTableView = class(cxGridBandedTableView.TcxGridBandedTableView)
  function GetViewInfoClass: TcxCustomGridViewInfoClass;override;
end;

  TForm1 = class(TForm)
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGrid1BandedTableView1: TcxGridBandedTableView;
    cxGrid1BandedTableView1Column1: TcxGridBandedColumn;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



{ TMycxGridBandHeaderViewInfo }

procedure TMycxGridBandHeaderViewInfo.InitHint(const AMousePos: TPoint;
  out AHintText: TCaption; out AIsHintMultiLine: Boolean; out ATextRect: TRect);
begin
  inherited;
  AHintText := 'AAA';
end;

class function TMycxGridBandViewInfo.GetHeaderViewInfoClass: TcxGridBandHeaderViewInfoClass;
begin
  Result := TMycxGridBandHeaderViewInfo;
end;

function TMycxGridBandsViewInfo.GetItemClass: TcxGridBandViewInfoClass;
begin
  Result := TMycxGridBandViewInfo;
end;

function TMycxGridBandedHeaderViewInfo.GetBandsViewInfoClass: TcxGridBandsViewInfoClass;
begin
  Result := TMycxGridBandsViewInfo;
end;

function TMycxGridBandedTableViewInfo.GetHeaderViewInfoClass: TcxGridHeaderViewInfoClass;
begin
  Result := TMycxGridBandedHeaderViewInfo;
end;

function TcxGridBandedTableView.GetViewInfoClass: TcxCustomGridViewInfoClass;
begin
  Result := TMycxGridBandedTableViewInfo;
end;

...
Рейтинг: 0 / 0
22.11.2019, 15:37
    #39893010
mvb
mvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGid HeaderHint
сделал так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
procedure TfmGSStudents.grtvDataMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var AHitTest: TcxGridColumnHeaderHitTest;
    f: TField;
    AHint: string;
    p: TPoint;
begin
     AHint := '';
     AHitTest := TcxGridColumnHeaderHitTest(TcxGridSite(Sender).ViewInfo.GetHitTest(X, Y));

     if AHitTest.HitTestCode <> htColumnHeader then
     begin
       hscHeaderHints.HideHint;
       FHintField := nil;
       exit;
     end;

     if AHitTest.HitTestCode = htColumnHeader then
     begin
       f := TcxGridDBColumn(AHitTest.Column).DataBinding.Field;
       if f = FHintField then
        Exit;
       if FHintField <> nil then
        hscHeaderHints.HideHint;
       FHintField := f;

       if f = spDataIsRedDiplom then
        AHint := 'asd' else
       if f = spDataIsReview then
        AHint := 'zxczxc';

       if AHint <> '' then
       begin
         p := grtvData.Site.ClientToScreen(Point(X, Y));
         hscHeaderHints.ShowHint(p.X, p.Y, '', AHint);
       end else
        FHintField := nil;
     end;
end;



осталось p.X и p.Y подровнять, а так норм.

P.S. Но странно при всей навороченности девок не иметь такого очевидного функционала. Впрочем, может в новых версиях и есть, нам, крестьянам, недоступно ))
...
Рейтинг: 0 / 0
22.11.2019, 17:49
    #39893097
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
cxGid HeaderHint
mvb
Но странно при всей навороченности девок не иметь такого очевидного функционала. Впрочем, может в новых версиях и есть, нам, крестьянам, недоступно ))
Неделю назад реализации этой фичи исполнилось 9 лет...
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGid HeaderHint / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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