Delphi cxgrid页脚格式-以HH:MM格式表示的总时间

Delphi cxgrid页脚格式-以HH:MM格式表示的总时间,delphi,devexpress,tcxgrid,Delphi,Devexpress,Tcxgrid,在cxgrid中,我在页脚中求和时间(所讨论的字段是时间字段)。 我已将其属性更改为TimeEdit,并更改了其时间显示 格式为“tfHourMin”。但是,我不能这样做的基础页脚。 它一直显示hh:mm:ss。是否有办法使页脚显示也采用“tfHourMin”格式 编辑:如果我这样做,我会得到“无法将类型(Null)的变量转换为类型(Double)”错误 您可以使用摘要项的OnGetText事件来提供您自己要显示的文本,如 procedure TForm1.H_FormatSummaryItem

在cxgrid中,我在页脚中求和时间(所讨论的字段是时间字段)。 我已将其属性更改为TimeEdit,并更改了其时间显示 格式为“tfHourMin”。但是,我不能这样做的基础页脚。 它一直显示hh:mm:ss。是否有办法使页脚显示也采用“tfHourMin”格式

编辑:如果我这样做,我会得到“无法将类型(Null)的变量转换为类型(Double)”错误


您可以使用摘要项的
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;

我没有使用组。对不起,我以为
摘要。FooterFormat
是为了满足您的需要,但它的用途不同。必须是
发送者作为TcxGridTableSummaryItem
语句…用正确的摘要项类型替换
TcxGridTableSummaryItem
,或者注释
如果
,如果您有我只将eventhandler附加到
skSum
项。
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;