2014-03-01 45 views
1

在cxgrid中,我在页脚中加上时间(所涉及的字段是时间字段)。 我已将其属性更改为TimeEdit,并将其时间显示 格式更改为'tfHourMin'。但是我不能这样做到底层页脚。 它一直显示hh:mm:ss。有没有办法让页脚显示'tfHourMin'格式?cxgrid页脚格式 - HH:MM格式的总时间

编辑:如果我这样做,我得到“型(空)的变种无法转换成式(双”错误

procedure TForm1.cxGrid1DBTableView1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems1GetText(
    Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; 
    var AText: string); 
begin 
AText := FormatDateTime('hh:mm', AValue); 
end; 
+0

。 – user3351050

+0

对不起,我想'Summary.FooterFormat'是为了做你的需要,但其目的是不同的。 –

回答

0

您可以使用汇总项目的OnGetText事件提供自己的文本显示,像我没有使用组

procedure TForm1.H_FormatSummaryItem(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string); 
begin 
    if(TVarData(AValue).VType in [varNull, varEmpty])then AText := '' 
    else begin 
    if((Sender as TcxGridTableSummaryItem).Kind = skSum)then begin 
     AText := FormatDateTime('hh:nn', AValue); 
    end; 
    end; 
end; 
+0

我得到“无效的类类型转换”的错误。 – user3351050

+0

一定是 'Sender as TcxGridTableSummaryItem'语句...用正确的汇总项类型替换'TcxGridTableSummaryItem',或者如果只将事件处理程序附加到'skSum'项,则将'if'部分全部注释掉。 – ain