Изменение шагов в графике, выполненном с помощью cxGrid - PullRequest
0 голосов
/ 05 марта 2012

Image of my graph

У меня есть график, сделанный с помощью cxGrid из DevExpress, и по оси X у меня есть дата. Но когда на графике много данных, эти даты сокращаются до 2 или 4цифры

Как я могу изменить его, чтобы ось X отображала текст только через каждые 5 или 10 значений?

1 Ответ

0 голосов
/ 05 марта 2012

Вы должны реализовать пейджинг в своем приложении. Вы можете сделать это, переопределив OnDataChanged и OnFilterRecord ChartView.DataController вашей сетки:

   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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...