高分求解Teechart的分页显示问题(200分)

  • 主题发起人 主题发起人 tony83ok
  • 开始时间 开始时间
T

tony83ok

Unregistered / Unconfirmed
GUEST, unregistred user!
我做一个曲线图随着时间的增加而变化向做滚动,请问如何才能用ChartPageNavigator做到分页显示,有分页键可以按制定的时间段查看,而不是全部时间都挤在一起?我用ChartPageNavigator,并且设定了ChartPageNavigator1.Chart:=Chart1;
Chart1.MaxPointsPerPage:=10;但是老是不能激活不起作用!
 
是不是从来没有人用过这个控件?还是分数不够?不够我再加
 
最简单的方法
// 显示数据
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
Chart1.MaxPointsPerPage := 20;
for i := 0 to 100do
Series1.AddXY(i, random(40))
end;
// 下一页
procedure TForm1.Button2Click(Sender: TObject);
begin
Chart1.NextPage;
end;
你还可以参照D7 Demo那种方法
总之都是坐标轴的平移而已
 
谢谢,你这样的方法好像不能动态换页啊,我想要达到的效果是每页为10点,曲线到达10点就自动换页,历史曲线还在而不是删除。
 
// 自己控制就可以了,满足你的要求
var
Form1: TForm1;
cP: Integer = 1;
// 画点开始,实际情况自己定
cPage: Integer = 0;
// 页数控制
// 画线
procedure TForm1.DrawSer;
var
i: Integer;
begin
for i := cp to cp + 9do
begin
Series1.AddXY(i, Random(50));
end;
cp := i;
Inc(cPage);
end;
// 定时器开始
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled := True;
end;

// 下一页
procedure TForm1.Button2Click(Sender: TObject);
begin
Chart1.NextPage;
end;

// 后一页
procedure TForm1.Button3Click(Sender: TObject);
begin
Chart1.PreviousPage;
end;

// 定时画线
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Chart1.MaxPointsPerPage := 10;
DrawSer;
if cp > cPage * 10 then
Chart1.NextPage;
end;

// 定时结束
procedure TForm1.Button4Click(Sender: TObject);
begin
Timer1.Enabled := False;
end;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部