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

27次阅读

共计 1054 个字符,预计需要花费 3 分钟才能阅读完成。

概述
C1FlexGrid 提供了创建轮廓树的功能,其中可以显示缩进结构,每个节点行旁边都有折叠 / 展开图标。然后,用户可以展开和折叠轮廓以查看所需的细节级别。为此,C1FlexGrid 允许您使用其 Tree 属性和 Subtotal 方法。
现在,如果有任何关于:如何将网格绑定到分层数据源并在子网格中显示细节的想法,ComponentOne 已经提供了一个“DataTree”演示,用来实现相同的效果。
这个 Demo 默认存放在这个位置中:Documents ComponentOne Samples WinForms C1FlexGrid CS DataTree。

这是通过从 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);

点击此处,下载示例 Demo

ComponentOne Enterprise | 下载试用

ComponentOne 是一款专注于企业应用高性能开发的 .NET 全功能控件套包,包含 300 余种控件,支持 7 大平台,涵盖 7 大功能模块。较于市面上其他同类产品,ComponentOne 更加轻盈,功能更加强大,20 多年的开发经验,将为您的应用系统带来更为安全的使用体验。纯中文操作界面,一对一技术支持,厂商级的技术服务,共同造就了这款国际顶级控件套包。
您对 ComponentOne 产品的任何技术问题,都有技术支持工程师提供 1 对 1 专业解答,点击此处即可发帖提问 >> 技术支持论坛

正文完
 0