【问题标题】:Programmatically adding columns to a TdxDBGrid (Expressquantumgrid by Devexpress)以编程方式将列添加到 TdxDBGrid(Devexpress 的 Expressquantumgrid)
【发布时间】:2012-10-12 12:03:29
【问题描述】:
对于一个客户,我一直在为 DevExpress 的这个非常旧版本 (2.1) 的 ExpressQuantumGrid 进行开发。在 Delphi 4 中。我找不到任何关于它的文档。
基本上我只需要创建一堆 TdxDBGridMaskColumn 并在运行时将它们“插入”到网格 (TdxDBGrid) 中。从代码完成弹出窗口中我无法弄清楚如何。
谢谢!
【问题讨论】:
标签:
delphi
delphi-4
quantumgrid
【解决方案1】:
我们有一个使用 Delphi 5 和 DevExpress v3 的旧应用程序,代码可能不完全相同,但应该可以帮助您入门。
一个可以创建任意类型列的函数(例如TdxDBDateColumn):
function CreateColumn(const aField: string; aColClass: TdxDBTreeListColumnClass): TdxDBTreeListColumn;
var
begin
Result := dxGrid.CreateColumn(aColClass);
Result.Name := dxGrid.Name + aField;
TdxDBGridColumn(Result).DisableFilter := True;
TdxDBGridColumn(Result).DisableGrouping := True;
TdxDBGridColumn(Result).Alignment := taRightJustify;
TdxDBGridColumn(Result).FieldName := aField;
TdxDBGridColumn(Result).Caption := aField;
TdxDBGridColumn(Result).Width := 70;
end;
然后你可以像这样调用这个函数:
NewColumn := CreateColumn('Username', TdxDBGridColumn);