5,927
社区成员




//TMSChartSeries是自己写的一个类,比较简单,包装部分图的信息,比如显示样式,描述等字段,
procedure TfrmPublicReport.ShowSeriesInChart(cs: TMSChartSeries);
var
ChartSeries: TChartSeries;
chtShow: TChart;
dValue: Double;
sLabel: String;
begin
//在Chart中显示序列
case cs.FStyle of
1: //折线图
begin
ChartSeries := TLineSeries.Create(chtShow);
ChartSeries.Marks.Style := smsValue;
end;
2: //柱状图
begin
ChartSeries := TBarSeries.Create(chtShow);
ChartSeries.Marks.Style := smsValue;
end
else //折线图
begin
ChartSeries := TLineSeries.Create(chtShow);
ChartSeries.Marks.Style := smsValue;
end;
end;
ChartSeries.Title := cs.FName;
//grdSearch数据控件
if grdSearch.DataSource <> nil then
begin
grdSearch.DataSource.DataSet.DisableControls;
try
grdSearch.DataSource.DataSet.First;
for i := 0 to grdSearch.DataSource.DataSet.RecordCount - 1 do
begin
dValue := grdSearch.DataSource.DataSet.FieldByName(cs.FYFields.Strings[j]).AsFloat;
sLabel := grdSearch.DataSource.DataSet.FieldByName(cs.FXField).AsString;
ChartSeries.Add(dValue, sLabel);
grdSearch.DataSource.DataSet.Next;
end;
finally
grdSearch.DataSource.DataSet.EnableControls;
end;
end;
chtShow.AddSeries(ChartSeries);
end;