我有一个来自DevExpress的cxGrid图表,在X轴上我有一个日期 但是当图表中有大量数据时,这些日期将被切割为2或4位数
如何更改它以使X轴仅显示每5或10个值的文本?
答案 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;