彩票走势图

【Stimulsoft Reports.WinForms教程】使用自动更新的实时报表预览

翻译|使用教程|编辑:王香|2018-08-28 10:50:06.000|阅读 457 次

概述:本文主要讲解在Stimulsoft中如何使用自动更新的实时报表预览。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

【下载Stimulsoft Reports.Ultimate最新版本】

此示例构建具有自动内容更新的实时实时报表。例如,使用带有一些文本的报表和带有两个系列的图表。在Form1初始化方法中,找到必要的报表组件,报表从应用程序资源加载:

private StiText text = null;
private StiChart chart = null;
 
public Form1()
{
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent();
 
    stiReport1.Render();
    StiComponentsCollection comps = stiReport1.RenderedPages[0].GetComponents();
    text = comps["Text1"] as StiText;
    chart = comps["Chart1"] as StiChart;
}

所述timer1_Tick定时器事件改变所选择的报表组件(如角度)的属性,并重绘报表。首先,应用文本轮换:

private System.Windows.Forms.Timer timer1;
 
private void timer1_Tick(object sender, System.EventArgs e)
{
    if (text == null)return;
 
    //Rotate text
    float angle = text.TextOptions.Angle;
    angle -= 1f;
    if (angle < 0)angle = 359;
    text.TextOptions.Angle = angle;
...

接下来,由于图表示例有两个系列,因此应对每个系列进行旋转:

...
    //Rotate series 1
    angle = ((StiDoughnutSeries)chart.Series[0]).StartAngle;
    angle -= 1f;
    if (angle < 0)angle = 359;
    ((StiDoughnutSeries)chart.Series[0]).StartAngle = angle;
 
    //Rotate series 2
    angle = ((StiDoughnutSeries)chart.Series[1]).StartAngle;
    angle += 1f;
    if (angle > 359)angle = 0;
    ((StiDoughnutSeries)chart.Series[1]).StartAngle = angle;
...

最后,实时更新报表:

...
    RectangleD rect = stiPreviewControl1.GetComponentRect(text);
    stiPreviewControl1.InvalidatePageRect(rect.ToRectangle());
 
    rect = stiPreviewControl1.GetComponentRect(chart);
    stiPreviewControl1.InvalidatePageRect(rect.ToRectangle());
    //stiPreviewControl1.View.Invalidate(); 
}

示例代码的结果如下图所示:

Stimulsoft


标签:报表解决方案报表报表控件报表设计StimulsoftWinForms

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP