使用cxGrid更改图形中的步骤

时间:2012-03-05 10:06:29

标签: delphi devexpress tcxgrid

Image of my graph

我有一个来自DevExpress的cxGrid图表,在X轴上我有一个日期 但是当图表中有大量数据时,这些日期将被切割为2或4位数

如何更改它以使X轴仅显示每5或10个值的文本?

1 个答案:

答案 0 :(得分:0)

您应该在您的应用程序中实现分页。您可以通过覆盖网格ChartView.DataController的OnDataChanged和OnFilterRecord来实现:

   aChartView.DataController.OnDataChanged  := cvChartDataControllerDataChanged;
   aChartView.DataController.OnFilterRecord := cvChartDataControllerFilterRecord;

重点是使用OnFilterRecord一次只显示有限数量的记录。这使您的图表显示,否则您获得的数据点太多。最重要的一个是OnFilterRecord。这是一个例子:

procedure TSomeGrid.cvChartDataControllerFilterRecord(ADataController: TcxCustomDataController; ARecordIndex: Integer; var Accept: Boolean);
begin
// inspect the number of all records
   FNoOfRecords := ADataController.RecordCount;
//FStartRecordNo and FEndRecordNo are relative to the FCurrentPageNo
//calculated elsewhere OnDataChanged
   if FCurrentPageNo > 0 then
      Accept := (ARecordIndex >= FStartRecordNo) and (ARecordIndex <= FEndRecordNo)
   else
      Accept := ARecordIndex < FMaxChartRecords;
end;