用cxgridDbTableview扩展cxGrid

时间:2019-04-22 14:21:43

标签: delphi devexpress vcl delphi-10.2-tokyo tcxgrid

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

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

如何实现? 请帮忙。

谢谢。

1 个答案:

答案 0 :(得分:3)

  1. 您必须使用cxGridRegisteredViews而不是RegisterComponets()注册View
  2. 如果要将TDXPDMGridDBTableView作为默认视图,则必须覆盖TcxGrid.GetDefaultViewClass()。 DefaultView是将网格放置到窗体时创建的视图
  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);