Spread for Winforms:自定义波形图

Spread for Winforms 表格控件 提供波形图功能,用于为每一个分析数据添加波形图。波形图是轻量级微图表,它可以呈现在单元格中用于可视化的展示数据。我们可以设置波形图为:列型、线型和损益型波形图类型。然而,波形图的数据需要和波形图在同一表单内。本篇文章中我们将介绍如何使用其他表单中的数据来创建波形图。1.继承 ExcelSparkLine 类,创建自定义波形图:<img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SpreadSparkline-300x115" border="0" alt="SpreadSparkline-300x115" src="http://www.grapecity.com.cn/image.ashx?picture=SpreadSparkline-300x115.png" width="560" height="217" />

发布于 2013/10/13 00:00

SpreadJS

Spread for Winforms 表格控件 提供波形图功能,用于为每一个分析数据添加波形图。波形图是轻量级微图表,它可以呈现在单元格中用于可视化的展示数据。我们可以设置波形图为:列型、线型和损益型波形图类型。然而,波形图的数据需要和波形图在同一表单内。本篇文章中我们将介绍如何使用其他表单中的数据来创建波形图。

1.继承 ExcelSparkLine 类,创建自定义波形图:

  1: class CustomExcelSparkline : ExcelSparkline
  2: {
  3:     CellRangeSegmentData innerData;
  4:     public CustomExcelSparkline(int row, int column, SheetView source)
  5:         : base(row, column, string.Empty)
  6:     {
  7:         innerData = new CellRangeSegmentData(source, 0, 0, source.RowCount, source.ColumnCount, null);
  8:     }
  9:     public override object GetSparkLineData()
 10:     {
 11:         return innerData;
 12:     }
 13: }

 

2.使用自定义类创建损益型波形图:

  1: private void Form1_Load(object sender, EventArgs e)
  2: {
  3:     fpSpread1.SuspendLayout();
  4:     List<Double> dlist = new List<double>();
  5:     dlist.Add(4.5);
  6:     dlist.Add(4.8);
  7:     dlist.Add(5.5);
  8:     dlist.Add(6.0);
  9:     dlist.Add(7.5);
 10:   
 11:     SheetView sv = new SheetView();
 12:     sv.Visible = false;
 13:     sv.SheetName = Guid.NewGuid().ToString();
 14:     sv.DataSource = dlist;
 15:     fpSpread1.Sheets.Add(sv);
 16:     fpSpread1.Sheets[0].RowCount = 10;
 17:     fpSpread1.Sheets[0].ColumnCount = 10;
 18:     for (int r = 0; r < fpSpread1.Sheets[0].RowCount; r++)
 19:     {
 20:         FarPoint.Win.Spread.SparklineType type = SparklineType.Column;
 21:         if (r % 3 == 1)
 22:             type = SparklineType.Line;
 23:         else if (r % 3 == 2)
 24:             type = SparklineType.Winloss;
 25:         FarPoint.Win.Spread.ExcelSparklineGroup esg = new FarPoint.Win.Spread.ExcelSparklineGroup(new FarPoint.Win.Spread.ExcelSparklineSetting(), type);
 26:         for (int c = 0; c < fpSpread1.Sheets[0].ColumnCount; c++)
 27:         {
 28:             CustomExcelSparkline es = new CustomExcelSparkline(r, c, sv);
 29:             esg.Add(es);
 30:         }
 31:         fpSpread1.Sheets[0].SparklineContainer.Add(esg);
 32:     }
 33:     fpSpread1.ResumeLayout();
 34: }

 

效果图:

SpreadSparkline-300x115

Demo 下载:

SpreadJS | 下载试用

纯前端表格控件SpreadJS,兼容 450 种以上的 Excel 公式,具备“高性能、跨平台、与 Excel 高度兼容”的产品特性,备受华为、苏宁易购、天弘基金等行业龙头企业的青睐,并被中国软件行业协会认定为“中国优秀软件产品”。SpreadJS 可为用户提供类 Excel 的功能,满足表格文档协同编辑、 数据填报、 类 Excel 报表设计等业务场景需求,极大的降低企业研发成本和项目交付风险。

如下资源列表,可以为您评估产品提供帮助:

相关产品
推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态