文档介绍:cxGrid 的使用方法 cxGrid 功能强大,适合做企业级的复杂查询。非常方便。但是对其用法介绍的并不多,在此总结他人的使用经验和自己的一点小经验,供大家参考。(1)动态设置显示格式 procedure SetDisplayFormat(ACtrlData: TClientDataSet; TbView: TcxGridDBTableView); var i: integer; begin if <= 0 then Exit; try ; ; for i := 0 to -1 do begin if ('SQBF_DisplayInGrid').AsString = '1' then // 在表格中显示 with do begin := ('SQBF_FieldName').AsString; Caption := ('SQBF_Caption').AsString; // 字段中文标题 Hint := ('SQBF_Hint').AsString; Width := ('SQBF_Width').AsInteger; HeaderAlignmentHorz := taCenter; end; ; end; except on E: Exception do SaveLog(' 设置显示格式时出错: '+ ); end; end; (2)显示行号 procedure ( Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := ; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin (FBounds); (FBounds, clBlack, clBlack, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).+1); InflateRect(FBounds, -3, -2); //Platform specific. May not work on Linux. := clBlack; := bsClear; (FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; (3 ) 设置显示格式, 我的项目要求先动态添加字段, 这时不知道字段类型, 所以设置 DisplayForma t 不方便,我还没有找到好方法。所以采用打开数据集后再设置: procedure (DataSet: TDataSet); var i: Integer; begin for i := 0 to -1 do begin if [i] is TNumericField then begin if Pos('AMOUNT', UpperCase([i].FieldName)) >0 then begin TNumericField(cxDBViewM