更改db表中的整数字段以在cxgrid上显示为字符串

时间:2015-08-06 11:00:59

标签: delphi delphi-xe2 tcxgrid

我有一个带有cxgrid的delphi表单,网格连接到查询/数据源。

如果数据库表中的字段是整数,那么无论如何我在cxgrid列上显示整数作为字符串?

e.g. 1 = January
     2 = February
     3 = March

等等。

谢谢,

2 个答案:

答案 0 :(得分:1)

是的,有这种可能性。

接下来将TcxEditRepository组件放到网格上。双击它,您应该看到带有“添加...”按钮的空窗口。单击它,然后从可用组件列表中选择ImageComboBox

现在,您需要编辑此组合的Items属性。

enter image description here

填满所有行后,转到您的视图(TcxGridDBTableViewTcxGridTableView)并选择包含整数值的列。此列有一个名为RepositoryItem的属性。如果您正确执行了所有操作,则应该能够选择之前创建的存储库项目(ImageComboBox)。选择后,您的列应立即显示月份名称而不是数字。

答案 1 :(得分:0)

其他方法是覆盖cxGridOnGetDisplayText事件。你可以这样做:

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;