我有一个带有cxgrid的delphi表单,网格连接到查询/数据源。
如果数据库表中的字段是整数,那么无论如何我在cxgrid列上显示整数作为字符串?
e.g. 1 = January
2 = February
3 = March
等等。
谢谢,
答案 0 :(得分:1)
是的,有这种可能性。
接下来将TcxEditRepository
组件放到网格上。双击它,您应该看到带有“添加...”按钮的空窗口。单击它,然后从可用组件列表中选择ImageComboBox
。
现在,您需要编辑此组合的Items
属性。
填满所有行后,转到您的视图(TcxGridDBTableView
或TcxGridTableView
)并选择包含整数值的列。此列有一个名为RepositoryItem
的属性。如果您正确执行了所有操作,则应该能够选择之前创建的存储库项目(ImageComboBox
)。选择后,您的列应立即显示月份名称而不是数字。
答案 1 :(得分:0)
其他方法是覆盖cxGrid
列OnGetDisplayText
事件。你可以这样做:
procedure TSomeForm.GetDisplayText(Sender: TcxCustomGridTableItem;
ARecord: TcxCustomGridRecord; var AText: string);
var
nVal : Integer;
begin
nVal := ARecord.Values[Sender.Index];
case nVal of
1: AText := "January";
//and so on
end;
end;