[英]Linq from List<T> to DataGridView
我有一個列表和一個dataGridView1,我試圖做到這一點:
var result = from s in sessions
where s.ID > 0
select s;
dataGridView1.DataSource = result;
它編譯良好,在DataGridView中沒有顯示任何內容,也沒有異常。
但是,如果我設置dataGridView1.DataSource = sessions;
它顯示了一切。
我認為這可以解決問題:
dataGridView1.DataSource = result.AsDataView();
做:
var result = from s in sessions
where s.ID > 0
select s;
dataGridView1.DataSource = result.ToList();
實際上,由於linq推遲執行 ,因此直到您獲取一些數據后,linq查詢才會執行。
如果添加ToList而沒有看到任何結果,則意味着沒有結果且沒有任何錯誤,只需在調試模式下的監視窗口中檢查您的result.ToList()
,如果沒有任何結果就可以,但是如果看到結果可能是您應該刷新dataGridView或重新綁定它。
我只是嘗試了一個使用dataGridView1.DataSource = result.ToList();的場景。 有效,但直接使用結果無效。 似乎DataGridView並非旨在直接綁定到IEnumerable(Linq語句的結果)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.