2011-12-29 10 views
0

我只是想知道是否可以將屬性應用於業務對象(MyBusinessObject)中的屬性,以便在網格的數據源之後設置爲List(Of MyBusinessObject),該列的可見屬性將自動爲false。例如:將屬性應用於業務對象中的屬性,使得列在數據綁定後不可見

myGrid.DataSource = New List(Of MyBusinessObject) 

Public Class MyBusinessObject 

    'I want these three columns to be visible after data binding 

    <DisplayName("Property 1")> _ 
    Public Property MyProperty1 As String 
    <DisplayName("Property 2")> _ 
    Public Property MyProperty2 As Integer 
    <DisplayName("Property 3")> _ 
    Public Property MyProperty3 As String 

    'I want this column to have Visible = False after data binding 

    Public Property MyProperty4 As Integer 

End Class 

我希望這是有道理的。謝謝!

編輯:我想澄清 - 我仍然喜歡MyProperty4是數據綁定,我只是不希望列可見。

回答

2

在你的類中使用BrowsableAttribute<Browsable(False)>)屬性應該完成你所需要的,但是我相信這是對屬性的「非標籤」使用。

如果這不符合您的需求,那麼您將需要創建自己的屬性並對綁定類型使用反射來確定應該隱藏哪些列,然後隱藏它們。

更新

您可能還需要考慮第三方網格控件,如Infragistics的或Telerik的(只有兩個,我們使用,沒有其他原因,他們的選擇)。這使得執行這樣的任務變得更容易。

+0

謝謝你的回覆。 Browsable(False)在我的情況下實際上不起作用,因爲它實際上不會將列綁定到網格。我將使用您的第二個建議來製作自定義屬性併發布我的結果。謝謝。 – crunchy 2012-01-03 18:26:05

相關問題