2010-04-27 39 views
0

在C#中的Windows應用程序之一中,我使用Dev Express網格視圖控件綁定某些數據並將其顯示給用戶。我有自定義業務對象的屬性爲此目的而定義。然後我簡單地將網格的DataSource設置爲我的自定義業務對象的列表。在Windows窗體上動態顯示字段到Dev Express網格視圖

前段時間,出現了一個要求,這意味着要顯示在網格上的列將是動態的。這意味着我無法在設計時知道哪些字段需要顯示。

我想放棄設置DataSource並通過代碼手動填充網格。但我認爲這會導致許多網格的功能無法正常工作,例如,通過拖放n個字段到標題區域來對數據進行分組等。有什麼方法可以在運行時告訴網格跳過某個字段數據綁定到網格時,BO的列表是什麼?

回答

0

這很簡單,我們一直這樣做。你只需要將網格綁定到你的數據源,它會爲你做剩下的工作。

隱藏字段也容易,只需將其VisibleIndex爲-1

你可以什麼應該做這樣的事情

C#

grid.FocusedView.Columns["Col1"].VisibleIndex = -1; 

VB

grid.FocusedView.Columns("Col1").VisibleIndex = -1; 
+0

VisibleIndex被設置爲-1?如果你提供一些細節,將不勝感激。比方說,我有一個自定義對象有20個屬性的字段,並且在運行時,我確定只有5個字段需要綁定到網格。我應該怎麼做,以便當我將dataSource設置爲列表時,它只顯示5個適當的字段? ? – Bhaskar 2010-04-28 08:06:56

+0

道歉,VisibleIndex屬性設置在可以在活動視圖的Columns集合中找到的列上。我編輯了我的答案並添加了一個例子。 – 2010-04-28 09:17:24

+0

亞歷克斯,這隻會用於隱藏列顯示,但字段仍然綁定到網格。我正在尋找一種方法來告訴網格甚至不要綁定不需要的字段。可能就像創建一個字段映射,它允許我指定自定義業務對象中的哪些字段進行綁定,列的位置應該是什麼,列的標題等。 – Bhaskar 2010-04-28 09:45:02