首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >teechart delphi reportbuilder限制管道中的数据

teechart delphi reportbuilder限制管道中的数据
EN

Stack Overflow用户
提问于 2018-07-16 23:14:36
回答 2查看 215关注 0票数 1

我的teechart数据系列使用数据管道作为我的源。我拥有的作为数据源的表有60行数据,但我只想基于其中的3行绘制图形。对于我正在绘制图形的列,其他57行的数据是0。我想要的图形(基于3行)将显示6个大条(2列x 3行),但由于该系列有57个未使用和看不见的行,6个条非常薄。如何将数据源中的数据限制为只有3行?

下图显示了我想要的结果(6个大条)和我得到的结果(6个细条)。

EN

回答 2

Stack Overflow用户

发布于 2018-07-17 14:46:18

正如@John Easleythis comment中所说,您可以对其进行过滤,而不是将表分配给序列。

即使用TeeChart组件附带的"TeeChart专业数据库“中的"Employee”表。下面是完整的数据:

您可以循环该表并使用Add/AddXY将条件批准的值添加到您的序列中:

代码语言:javascript
复制
uses Series;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with Chart1.AddSeries(TBarSeries) do
  begin
    Marks.Style:=smsValue;

    Table1.Open;
    while not Table1.Eof do
    begin
      if Table1.FieldByName('SALARY').AsFloat > 42000 then
         Add(Table1.FieldByName('SALARY').AsFloat, Table1.FieldByName('LASTNAME').AsString);

      Table1.Next;
    end;
    Table1.Close;
  end;
end;

票数 1
EN

Stack Overflow用户

发布于 2018-07-18 01:21:16

谢谢你的回答。

因为我使用的是ReportBuilder和RAP,所以我的做法略有不同,但概念是相同的。

在我的报告模板中,我创建了一个设置为手动数据的Teechart。然后,我使用以下代码添加XY点:

ChartManual.chart.series[0].clear; ChartManual.chart.series[0].AddXY(1,100,'A',RGB(0,0,252)); ChartManual.chart.series[0].AddXY(2,200,'B',RGB(0,0,252)); ...etc

找到准确的RAP语法有点困难,所以我希望这能对其他遇到这种情况的人有所帮助。

再次感谢

J

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51365043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档