如果您想在FireMonkey网格的同一列中使用不同的单元格控件,该怎么办呢?
单元格控件似乎属于列,但有些情况下(比如属性编辑器),某些行需要复选框,而其他行需要组合框或编辑控件。
提前致谢。
单元格控件似乎属于列,但有些情况下(比如属性编辑器),某些行需要复选框,而其他行需要组合框或编辑控件。
提前致谢。
很抱歉我不能给出更详细的答案,因为完整地涵盖这个问题需要一系列的博客文章。
vColumn := TVariantColumn.Create(Self);
vColumn.Header := 'Variant Column';
vColumn.OnGetCellProxyIndex := GetCellProxyIndex;
Grid1.AddObject(vColumn);
然后创建任何代理,例如
vColumn.NewCellProxy(TTextProxy);
vColumn.NewCellProxy(TColorComboProxy);
vColumn.NewCellProxy(TComboColorProxy);
创建代理后,您还可以处理特定于代理的工作,例如
with TProgressProxy(vColumn.NewCellProxy(TProgressProxy)) do //4
begin
Min := 0;
Max := 100;
end;
with TPopUpProxy(vColumn.NewCellProxy(TPopupProxy)) do //5
begin
Items.Add('Istanbul');
Items.Add('Paris');
Items.Add('NewYork');
end;
我在我的网站上写了一篇博客,详细介绍了我的方法,并发布了一篇文章,您可以在其中了解更多相关内容。
使用样式 - 在设置单元格数据时设置单元格样式 - 然后使用onapplystyle事件对新样式的单元格进行任何智能操作。
这样,您可以将所需的控件添加到样式中,然后使用onapplystyle访问控件(以设置事件等)。
提示 - FindStyleResource在这里是您的朋友 :-)