继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【Visual Studio 扩展工具】如何在ComponentOne的DataTree中实现RightToLeft布局

葡萄城控件
关注TA
已关注
手记 195
粉丝 57
获赞 339

概述

C1FlexGrid提供了创建轮廓树的功能,其中可以显示缩进结构,每个节点行旁边都有折叠/展开图标。 然后,用户可以展开和折叠轮廓以查看所需的细节级别。 为此,C1FlexGrid允许您使用其Tree属性和Subtotal方法。

现在,如果有任何关于:如何将网格绑定到分层数据源并在子网格中显示细节的想法,ComponentOne已经提供了一个“DataTree”演示,用来实现相同的效果。

这个Demo默认存放在这个位置中:Documents \ ComponentOne Samples \ WinForms \ C1FlexGrid \ CS \ DataTree。

https://img2.mukewang.com/5c19de9b00017f5707860490.jpg

这是通过从C1FlexGrid控件派生控件(C1FlexDataTree)来实现的。 绑定时,控件会检测从属数据源并创建其附加实例以显示子表。

但是,如果需要在此分层显示中设置RightToLeft布局,则需要通过代码处理此问题。以下就是具体实现步骤:

实现从右到左的布局

本文将介绍通过代码处理这些子网格的呈现来实现从右到左布局的步骤。 按照下面提到的两个步骤这将很容易实现:

  • 首先,我们将父网格的RightToLeft属性设置为RightToLeft.Yes值。

this._flex.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
  • 接下来,在C1FlexDataTree.cs的UpdatePosition方法中,子位置和客户端大小计算如下:

rc.X = rc.Left - parent.ScrollableRectangle.Width;
rc.Y = rc.Bottom;
rc.Width = Cols[Cols.Count - 1].Left;
rc.Width = Math.Max(Cols[Cols.Count - 1].Left, parent.ScrollableRectangle.Width);

https://img1.mukewang.com/5c19deaa00014d3607820487.jpg

点击此处,下载示例Demo


ComponentOne Enterprise | 下载试用

ComponentOne是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含300余种控件,支持7大平台,涵盖7大功能模块。较于市面上其他同类产品,ComponentOne更加轻盈,功能更加强大,20多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。

您对ComponentOne 产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>> 技术支持论坛


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP