簡體   English   中英

如何將數據添加到DataGridView

[英]How to add data to DataGridView

我有一個類似的結構

 X={ID="1", Name="XX",
    ID="2", Name="YY" };

如何將此數據轉儲到兩列的DataGridView

gridView就像

ID | Name

我們可以使用LINQ來做到這一點。 我是DataGridView新手Pleaese幫我做這個..

提前致謝

首先,您需要向datagrid添加2列。 你可以在設計時做。 請參閱Columns屬性。 然后根據需要添加行。

this.dataGridView1.Rows.Add("1", "XX");

我們假設您有一個這樣的類:

public class Staff
{
    public int ID { get; set; }
    public string Name { get; set; }
}

並假設您已將DataGridView拖放到表單中,並將其命名為dataGridView1。

您需要一個BindingSource來保存數據以綁定DataGridView 這是你如何做到的:

private void frmDGV_Load(object sender, EventArgs e)
{
    //dummy data
    List<Staff> lstStaff = new List<Staff>();
    lstStaff.Add(new Staff()
    {
        ID = 1,
        Name = "XX"
    });
    lstStaff.Add(new Staff()
    {
        ID = 2,
        Name = "YY"
    });

    //use binding source to hold dummy data
    BindingSource binding = new BindingSource();
    binding.DataSource = lstStaff;

    //bind datagridview to binding source
    dataGridView1.DataSource = binding;
}

我最喜歡的方法是使用名為“Map”的擴展函數:

public static void Map<T>(this IEnumerable<T> source, Action<T> func)
{
    foreach (T i in source)
        func(i);
}

然后你可以像這樣添加所有行:

X.Map(item => this.dataGridView1.Rows.Add(item.ID, item.Name));

LINQ是一種“查詢”語言(即Q),因此修改數據超出了其范圍。

也就是說,您的DataGridView可能綁定到ItemsSource ,可能是ObservableCollection<T>類型或類似的。 在這種情況下,只需執行類似X.ToList().ForEach(yourGridSource.Add) (這可能必須根據網格中的源類型進行調整)。

你應該像這樣形成你的代碼

DataGridView.DataSource = yourlist;

DataGridView.DataBind();

暫無
暫無

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

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