找回密码
 立即注册

QQ登录

只需一步,快速开始

还没想好

论坛元老

5

主题

38

帖子

1万

积分

论坛元老

积分
14301

活字格认证

还没想好
论坛元老   /  发表于:2014-8-22 16:31  /   查看:16833  /  回复:21
我们在Gantt Chart 添加了最多6个series 但是每个series由多段组成 并且每段的高度不一样 总的组合起来就像6个单独的series 如下图 一个颜色就是一个series



我们想在Y轴旁边显示Itemnames 来表示这6段代表的机器地址。 但是我们把Itemnames绑定上去后 名字跟表里面的bar对不齐 并且Y轴会出现很多刻度。 我们猜想是不是有多少段series就会有多少个刻度 如下图


我们尝试过单独加6个很短但是完整的series上去 并显示它们的itemname 但是还是与上图一样的显示

请问可以单独调整itemname的位置吗?

本帖子中包含更多资源

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

x

21 个回复

正序浏览
Alice
社区贡献组   /  发表于:2014-9-5 16:12:00
22#
我们不用绑定itemnames的方式 直接绑定Y轴的source 这样Y轴show出来的scale就和series没有关系 然后 只需要将绑定Y轴的source中的itemvalue和ItemLabel绑定为与series一样的高度和名字就可以啦

[code]<c1c:Chart......
还没想好 发表于 2014-9-5 15:41:00


赞一个。这么简单就被你解决了。
奖励200金币。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
还没想好
论坛元老   /  发表于:2014-9-5 15:41:00
21#
我们不用绑定itemnames的方式 直接绑定Y轴的source 这样Y轴show出来的scale就和series没有关系 然后 只需要将绑定Y轴的source中的itemvalue和ItemLabel绑定为与series一样的高度和名字就可以啦
  1. <c1c:ChartView.AxisY>
  2.                                                                 <c1c:Axis Visible="{Binding AxisYVisibility}" Min="0" ItemsSource="{Binding GanttChartLabelModels}" ItemsValueBinding="{Binding Value}" ItemsLabelBinding="{Binding Name}"/>
  3.                                                             </c1c:ChartView.AxisY>
复制代码
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-3 19:01:00
20#
回复 19楼还没想好的帖子

那就太好了,能否将解决方法反馈出来呢?我们有金币奖励。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
还没想好
论坛元老   /  发表于:2014-9-3 15:08:00
19#
你好 我们用绑定Y轴的itemsource 找到了解决 方法

谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-2 20:32:00
18#
回复 17楼还没想好的帖子

如果有任何结果欢迎反馈。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
还没想好
论坛元老   /  发表于:2014-9-2 09:41:00
17#
谢谢 我们试着 用绑定Y轴的itemsource来做了 可能可以解决
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-9-1 14:02:00
16#
回复 15楼还没想好的帖子

又进行了测试,一个series对甘特图有对应关系,如下:
  1.         // create a new series for each &quot;row&quot; of the Gantt chart.
  2.                         // TASK ONE
  3.                         AddGanttSeriesData(cdsc, &quot;Task One&quot;,
  4.                                 new DateTime[]{new DateTime(2004,01,01)},
  5.                                 new DateTime[]{new DateTime(2004,03,09)});
复制代码

所以无法支持,如果要完成你的需求,只能通过其他方式绕。之前提到的给Y轴添加标签就是替代itemnames,可以使用控件来将需要显示的itemname放到里面。以及PlotElementLoaded事件重画,都依然不行么?

如果这些方法都不能满足,很抱歉我也没有更好的方法。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
还没想好
论坛元老   /  发表于:2014-8-29 17:05:00
15#
你好 我们试过加标签的方法了 还是不能完成我们想要的效果。请问目前有没有什么方案调整itemnames的位置或者在Y轴旁边用其他方案来代替itemnames?

谢谢
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-8-27 17:38:00
14#
回复 13楼还没想好的帖子

这个问题我会继续跟进的,不过我们处理问题都有一定的次序,还请等待。
你那边也可以根据我上面的提示,尝试下其他解决方法,比如给Y轴添加标签。
代码参考:
  1.   <c1:C1Chart.View>
  2.                 <c1:ChartView>
  3.                     <c1:ChartView.AxisY>
  4.                         <c1:Axis>
  5.                             <c1:Axis.Title>
  6.                                 <TextBlock Text="Alpha" TextAlignment="Center" Foreground="Crimson"/>
  7.                             </c1:Axis.Title>
  8.                         </c1:Axis>
  9.                     </c1:ChartView.AxisY>
  10.                 </c1:ChartView>
  11.             </c1:C1Chart.View>
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部