2012-07-11 88 views
0
MySqlCommand cmd = new MySqlCommand(query, conn); 
dt.Load(cmd.ExecuteReader()); 
List<string> list = new List<string>(); 
    while (combodata.Read()) 
    { 
    list.Add(combodata.GetString(0)); 
    } 
source.DataSource = dt; 

dataGrid1.ItemsSource = source; 

如何將list添加到source多項ItemsSource(wpf)

source.DataSource = dt; 
source.DataSource = list; 

錯了...

我需要添加一個dataGrid1.ItemsSourcedtlist 我怎麼能?

+0

是什麼'source'的類型? – 2012-07-11 12:15:38

+0

'System.Windows.Forms.BindingSource source = new System.Windows.Forms.BindingSource();' – kekus 2012-07-11 12:21:57

回答

1

您可以使用CompositeCollection

var cc = new CompositeCollection(); 
cc.Add(new CollectionContainer { Collection = new DataView(dt) }); 
cc.Add(new CollectionContainer { Collection = list }); 
dataGrid1.ItemsSource = cc; 
0

您不能將DataTable設置爲ItemsSource,因爲它不會執行IEnumerable。您可以使用數據視圖:

dataGrid1.ItemsSource = dt.AsDataView(); 
+0

這不回答這個問題......你如何添加列表? – 2012-07-11 12:21:58

+0

你想要做什麼?加入兩個收藏?順便說一下,你不能在WPF中使用表單BindingSource。不會讓人感到驚訝。 – Vale 2012-07-11 12:23:52

+0

看看@ThomasLevesque的答案。 – Vale 2012-07-11 12:24:39