2012-07-11 90 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