簡體   English   中英

數據網格視圖錯誤

[英]Error with data grid view

我在使用datagrid視圖時遇到問題。 我已經在圖片中附加了代碼和錯誤消息。 我想知道此錯誤的原因。 謝謝。 在此處輸入圖片說明

無需設置DataMember只需調用綁定方法dataGridView1.DataBind() MSDN所述, DataMember用於以下用途:

獲取或設置DataGridView正在為其顯示數據的數據源中的列表或表的名稱。

您不需要LINQ查詢。 只需將列表設置為數據源即可。 在這種情況下,無需設置DataMember。

    private void Form4_Load(object sender, EventArgs e)
    {
        List<Products> productList = new List<Products>()
        {
            new Products{ProductName = "P1", ProductPrice = 56, Category = "c1"},
            new Products{ProductName = "P2", ProductPrice = 36, Category = "c1"}    
        };

        //var p = from s in productList select s;

        dataGridView1.DataSource = productList;
        //dataGridView1.DataMember = p.ToString();
    }

編輯

LINQ查詢返回IEnumerable ; 但是,DataGridView類支持標准的Windows窗體數據綁定模型。 這意味着數據源可以是實現以下接口之一的任何類型:IList,IListSource,IBindingList和IBindingListView。 因此,您將需要對LINQ結果調用ToList() 在此MSDN鏈接上了解有關此的更多信息

但是,在您的情況下,這與將productList設置為DataSource相同(我的意思是結果將是相同的,因為LINQ查詢中不涉及排序或分組)。

如果您想玩LINQ,請嘗試一下(您的列表將按ProductPrice升序排列)

   var p = from s in productList orderby s.ProductPrice select s;
   dataGridView1.DataSource = p.ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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