2010-07-27 48 views
0

您好:我正在研究讀取XML文件並返回列表列表的C#項目。當我想顯示一個列表我這樣做:在datagridview中顯示linq查詢的問題

IEnumerable<Foo> myFooQuery = from t in myLists.SelectMany(l => l.bar) 
           orderby t.StartTime descending 
           select t; 
dataGridView1.DataSource = myFooQuery.ToList(); 

我的問題是,當我這樣做的,你不能在列標題點擊排序datagridview的。我嘗試了myFooQuery.AsQueryable(),但是然後在datagridview中什麼也沒有顯示出來,即使查詢計數是我所期望的。我只是錯過了一些明顯的東西,還是我必須使用.Tolist()?

回答

0

你可以嘗試:

EnumerableRowCollection<DataRow> myFooQuery = from t in myLists.SelectMany(l => l.bar) 
           orderby t.StartTime descending 
           select t; 

DataView myDataView = myFooQuery.AsDataView(); 

dataGridView1.DataSource = myDataView; 

編輯 - 註釋掉線

//dataGridView1.DataBind();

+0

我只是試圖做到這一點,而我正在使用Visual C#2010,而我沒有dataGridView1.DataBind()。 – 2010-07-27 13:17:19

+0

對不起,並不意味着要包括那個。你試過了嗎? – 2010-07-27 13:18:39

+0

是的,就是這樣。謝謝 – 2010-07-27 13:43:19