簡體   English   中英

列表中的Linq <T> 到DataGridView

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM