【Visual Studio 擴展工具】如何在ComponentOne的DataTree中實現RightToLeft佈局

概述

C1FlexGrid提供了創建輪廓樹的功能,其中可以顯示縮進結構,每個節點行旁邊都有摺疊/展開圖標。 然後,用戶可以展開和摺疊輪廓以查看所需的細節級別。 爲此,C1FlexGrid允許您使用其Tree屬性和Subtotal方法。

現在,如果有任何關於:如何將網格綁定到分層數據源並在子網格中顯示細節的想法,ComponentOne已經提供了一個“DataTree”演示,用來實現相同的效果。

這個Demo默認存放在這個位置中:Documents ComponentOne Samples WinForms C1FlexGrid CS DataTree。

C1FlexGrid: DataTree1

這是通過從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);

C1FlexGrid: Data Tree2

點擊此處,下載示例Demo

ComponentOne Enterprise | 下載試用

ComponentOne是一款專注於企業應用高性能開發的 .NET 全功能控件套包,包含300餘種控件,支持7大平臺,涵蓋7大功能模塊。較於市面上其他同類產品,ComponentOne更加輕盈,功能更加強大,20多年的開發經驗,將爲您的應用系統帶來更爲安全的使用體驗。純中文操作界面,一對一技術支持,廠商級的技術服務,共同造就了這款國際頂級控件套包。

您對ComponentOne 產品的任何技術問題,都有技術支持工程師提供1對1專業解答,點擊此處即可發帖提問>> 技術支持論壇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章