1

我们正在将当前的 vcl 应用程序合并到 Firemonkey。当前最大的问题是创建一个带有一些自定义列的 tgrid。

我需要一个包含组合框单元格的列,以及每个单元格中包含多个复选框的列。

4

2 回答 2

4

看看我的帖子http://monkeystyler.com/blog/entry/firemonkey-grid-basics-custom-cells-and-columns,它解释了 FireMonkey 网格的基础知识以及如何创建自定义列。

这是另一篇使用泛型为任何组件类创建列的帖子http://monkeystyler.com/blog/entry/a-firemonkey-grid-column-for-any-control

使用第二种方法,使用多个复选框创建一个组件,然后创建一个使用它的列。

于 2013-01-15T13:25:24.353 回答
0

任何覆盖 TColumn 类的 CreateCellControl 方法的解决方案都不再起作用。新的 API 提供了一个名为 TGridModel 的类,它通过 OnCreateCustomEditor 事件允许您动态创建网格单元格的编辑组件。但是我仍然找不到使用此方法的任何示例。

procedure TForm1.MyOnCreateCustomEditor(Sender: TObject; const Column: TColumn; var Control: TStyledControl);
var
  idx: Integer;
begin
  idx := Column.Model.IndexOfColumn(Column);
  case idx of
    // Create controls here
  end;
end;

procedure TForm1.OnCreate(Sender: TObject);
begin
  inherited;
  Grid1.Model.OnCreateCustomEditor := MyOnCreateCustomEditor;
end;
于 2019-10-03T13:48:23.833 回答