2011-04-20 21 views
1

我有一個對象集合,我想綁定到RadGridView(從工具包telerik)。類對象正在尋找這樣的(要了解需要最少的代碼),在那裏我有1財產和1個陣列值:綁定MVVM(僅)從集合自動生成的一些列

public class AttributeEntry : INotifyPropertyChanged 
    { 
     public string Code { get; set; } 
     private string[] _values; 
     public string[] Values 
     { 
      get { return _values; } 
      set { _values = value; } 
     } 
     public string this[int index] 
     { 
      get { return _values[index]; } 
      set 
      { 
       _values[index] = value; 
       if (PropertyChanged != null) 
        PropertyChanged(this, new PropertyChangedEventArgs(Binding.IndexerName)); 
      } 
     } 

     public event PropertyChangedEventHandler PropertyChanged; 
    } 

是否有人知道一個(簡單)的方式,利用百通MVVM,以有一個定義了一些列的RadGridView(在我的情況下對應於'Code'屬性)和一些列「自動生成」,每列對應於一個集合的元素(在我的例子中是數組的值)。在我的收藏中有7個值,我應該有7個「自動生成」列)?

+0

值中的元素數量是否是動態的? – 2011-04-20 15:13:15

+0

否。所有AttributeEntry對象在Values數組中都有相同數量的元素。它的定義是一個應用程序配置參數(目前它的值是150,但明天它可能會改變......) – Philippe 2011-04-20 15:26:58

回答

0

不確定約RadGridView但對於正常DataGrid您可以設置AutoGenerateColumns Property to true根據其數據綁定自動生成列或根據代碼創建列。

就你而言,我認爲你必須將 AutoGenerateColumns屬性設置爲 false,並自己定義你的列以將兩者(你的集合的元素和Code屬性)組合在一起。

編輯:

只需檢查MSDN

明確聲明列字段可以被 結合 自動生成的列字段使用。 當兩者都被使用時,顯式地 聲明的列字段首先被呈現爲 ,隨後是自動生成的 列字段。

+0

是的,這是我首先想到的。我試過這個解決方案,但是: – Philippe 2011-04-20 15:28:46

+0

是的,這是我首先想到的。我試過這個解決方案,但是: 1.它不是很符合MVVM:( )2.我沒有找到原因,但「值」集合的第一個值沒有顯示......似乎綁定已完成在值不受影響的情況下(對於第一個值), – Philippe 2011-04-20 15:36:26

+0

我認爲@Bolu正處於正確的方向,但不是所有方式 AttributeEntry對象看起來像是其他混凝土的奇怪翻譯數據源 如果數據的基礎源返回包含所有這些屬性的對象,那麼RadGridView的AutoGenerated列將按設計的那樣工作,並自動爲每個屬性創建一列 源數據是否真的非結構化? – NightDweller 2011-04-20 16:03:35

1

我假設您將RadGridView綁定到AttributeEntry的集合。

在這種情況下,請在您的收藏上執行ITypedList。您可以使用ITypedList返回虛擬PropertyDescriptorGetValueSetValue方法使用數組

1

對於任何人誰是試圖實現這一點,聲明類爲expandoobject這種靈活的類結構,實現INotifyPropertyChanged,你可以定義屬性在代碼中需要。

在telerik raddatagrid上,將itemsource綁定到expandoobjects集合並將AutoGenerateColumns設置爲true。

如果您想根據expandoobject的內容定製列,然後使用AutoGeneratingColumn事件,那麼會爲每列生成引發此操作,如果將列控件定義爲數據模板,您可以在後面的代碼中訪問它們並分配它們他們也是單元格模板。

相關問題