找回密码
 立即注册

QQ登录

只需一步,快速开始

dongfeicnlc

中级会员

4

主题

27

帖子

514

积分

中级会员

积分
514

微信认证勋章

dongfeicnlc
中级会员   /  发表于:2016-11-29 11:58  /   查看:11643  /  回复:24
        昨天测试了V3版中的FlexChart中的LineMarker功能, 好像有个bug, 如果X和Y轴对换, 那么无论LineMarker放到什么位置, 总是显示当前的数据, 而获取不到lineMarker所在点的数据。注: 为是在WinForm下测试的, 我的数据是实时获取的, 用到动态数据集合。
        另外, ComponentOne Samples\WinForms\C1FlexChart\CS\LineMarkerExplorer例子中有bug(如下图),当前日期在10月份之前没有问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +2000 收起 理由
gw0506 + 2000 积极跟踪新版本发布,第一个发现新版本demo.

查看全部评分

24 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-11-29 18:36:03
推荐
恩,你说的对,这种情况下好像就是有问题。我让研发确认一下。
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-29 14:04:28
沙发
这段代码的确有问题,即使作为Demo,也不应该出现。我修改如下,请参考:
  1.             DateTime startDate = new DateTime(DateTime.Now.Year - 1, 1, 1);
  2.             DateTime endDate = new DateTime(DateTime.Now.Year - 1, DateTime.Now.Month, 1).AddMonths(2);
  3.             int interval = Convert.ToInt32((endDate - startDate).TotalDays);

  4.             for (int i = 0; i < interval;i++)
  5.             {
  6.                 pointsList.Add(new DataItem()
  7.                 {
  8.                     Date = startDate.AddDays(Convert.ToDouble(i)),
  9.                     Input = rnd.Next(1, 9),
  10.                     Output = rnd.Next(10, 19)
  11.                 });
  12.             }
复制代码
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-29 15:12:53
板凳
关于x轴y周对调之后,linemarker数据不变的事情,我这里没有重现。
还用的是这个demo,改了代码如下,不知道你用的什么代码,具体怎么对调x,y的。
  1.             flexChart1.BindingX = "Output";

  2.             var dateSerie = new Series() { Name = "Date", Binding = "Date" };
  3.             flexChart1.Series.Add(dateSerie);

  4.             //flexChart1.BindingX = "Date";

  5.             //var outputSerie = new Series() { Name = "Output", Binding = "Output" };
  6.             //outputSerie.Style.StrokeColor = Color.FromArgb(255, 251, 178, 88);
  7.             //flexChart1.Series.Add(outputSerie);

  8.             //var inputSerie = new Series() { Name = "Input", Binding = "Input" };
  9.             //inputSerie.Style.StrokeColor = Color.FromArgb(255, 136, 189, 230);
  10.             //flexChart1.Series.Add(inputSerie);
复制代码
回复 使用道具 举报
dongfeicnlc
中级会员   /  发表于:2016-11-29 15:44:28
地板
gw0506 发表于 2016-11-29 15:12
关于x轴y周对调之后,linemarker数据不变的事情,我这里没有重现。
还用的是这个demo,改了代码如下,不知 ...

我是这样对调, 具体见下图.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-29 15:57:29
5#
按你说的修改了,linemarker没有问题,会根据位置变更数据。
不过现实的数据是两个series,不包含Date信息,所以在一个区域中只是“input”变化,另一个只是“Output”变化。具体见下图:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
dongfeicnlc
中级会员   /  发表于:2016-11-29 16:03:20
6#
gw0506 发表于 2016-11-29 15:57
按你说的修改了,linemarker没有问题,会根据位置变更数据。
不过现实的数据是两个series,不包含Date信息 ...

请看这2张图


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-29 16:14:27
7#
这两个图我还是没看明白,这两个图里,Date是变化的,WOH是变化的剩下两个没变。
你把你的demo发给我看看吧。
回复 使用道具 举报
dongfeicnlc
中级会员   /  发表于:2016-11-29 16:14:43
8#
gw0506 发表于 2016-11-29 15:57
按你说的修改了,linemarker没有问题,会根据位置变更数据。
不过现实的数据是两个series,不包含Date信息 ...

我刚才又仔细看了一下, 确实像您说的那样, 必须鼠标分到曲线上值才能变化, 但是时间只显示最后的时间, 并且必须水平移动鼠标, 才能看到当前点的数据. 如果不对x和y轴进行对换, 那么水平移动linemarker, 其值都会变化, 按道理说, 对换x和y轴后, 应该垂直移动linemarker才对呀, 但是现在不是这样的, 还需要水平移动一下, 才能显示出来鼠标所在点的曲线的值. 最后, 原来能显示所有曲线的值, 对掉后去只能显示鼠标所在曲线的值. 我认为这也应该算是一个bug吧.
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-11-30 13:44:10
10#
dongfeicnlc 发表于 2016-11-29 16:14
我刚才又仔细看了一下, 确实像您说的那样, 必须鼠标分到曲线上值才能变化, 但是时间只显示最后的时间, 并 ...

确认是一个bug,一个Demo问题。全部修复,见附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部