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