使用 cxgridDbTableview 扩展 cxGrid

extending cxGrid with cxgridDbTableview

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

我试过如下,但它显示了 2 个不同的组件,而且我设计的视图没有链接到网格。

如何实现? 请帮忙。

谢谢。

  1. 您必须使用 cxGridRegisteredViews 注册 View,而不是 RegisterComponets()
  2. 如果您希望将 TDXPDMGridDBTableView 作为默认视图,则必须覆盖 TcxGrid.GetDefaultViewClass()。 DefaultView 是当您将 Grid 放入 Form
  3. 时创建的视图
  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);