2010-07-27 2 views
0

Здравствуйте. Я работаю над проектом C#, который читает XML-файл и возвращает список списков. Когда я хочу, чтобы отобразить список я это сделать:Проблема с отображением запроса linq в datagridview

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; 

EDIT - закомментирована линия

//dataGridView1.DataBind();

+0

Я просто попытался сделать это, и я использую Visual C# 2010, и у меня нет dataGridView1.DataBind(). –

+0

Извините, не хотел включать это. Вы пробовали это? –

+0

да, это. благодаря –