使用cxgridDbTableview扩展cxGrid

问题描述 投票:0回答:1

我通过扩展cxGrid创建了一个组件并添加了一些必需的属性,我想做同样的事情并为cxGridDBTableView添加一些额外的功能,我尝试扩展cxGridDBTableView并添加了属性,但我无法访问这些属性,因为当我放弃我的TdxdmGrid它使用默认的cxgridTableView,但我想使用TdxdmGridDbtableView,

我尝试如下,但它显示了2个不同的组件,我设计的视图没有链接到网格。 enter image description here

怎么能实现这一目标?请帮忙。

谢谢。

delphi devexpress vcl delphi-10.2-tokyo tcxgrid
1个回答
3
投票
  1. 您必须使用cxGridRegisteredViews注册View,而不是使用RegisterComponets()
  2. 如果您希望TDXPDMGridDBTableView作为默认视图,则必须覆盖TcxGrid.GetDefaultViewClass()。 DefaultView是将Grid放入Form时创建的View
  TDXPDMGrid = class(TcxGrid)
    ...
    protected
      function GetDefaultViewClass: TcxCustomGridViewClass; override;
    ...
  end;
...
function TDXPDMGrid.GetDefaultViewClass: TcxCustomGridViewClass;
begin
  Result := TDXPDMGridDBTableView;
end;
...
initialization
  cxGridRegisteredViews.Register(TDXPDMGridDBTableView, 'PDM Table');
...
finalization
  cxGridRegisteredViews.Unregister(TDXPDMGridDBTableView);
© www.soinside.com 2019 - 2024. All rights reserved.