我是第一次在WinForms中尝试一些东西。我有一个问题对我来说显得非常微不足道,但后来我不是一个WinForms家伙..搜索了很多但找不到解决方案。
以下是代码,不要担心内容本身,它只是测试代码。问题是当我单击AddNew按钮时,一行被添加到gridview,但之后没有添加任何行,无论用户点击AddNew按钮多少次。您可以在下面的图片中看到。
您能否指出为什么在添加行之后没有行添加到gridview中。 AddNew按钮只需一次点击即可使用。虽然它应该一次又一次地添加第二行。
提前致谢。
public partial class JobCard : UserControl
{
List<Work> works = new List<Work>();
BindingSource bs = new BindingSource();
public JobCard()
{
InitializeComponent();
works.Add(new Work() { S_No = 1, JobCategoryId = 1, JobCategoryName = "electricals", JobId = 1, JobName = "lights", Labour = 1, MaterialName = "tape", PartName = "headlight" });
bs.DataSource = works;
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = bs;
}
private void btnAddNew_Click(object sender, EventArgs e)
{
works.Add(new Work() { S_No = 2, JobCategoryId = 2, JobCategoryName = "electricals", JobId = 2, JobName = "lights", Labour = 2, MaterialName = "tape", PartName = "headlight" });
dataGridView1.DataSource = works;
}
}
答案 0 :(得分:1)
您需要重置绑定源的数据源。
尝试
private void btnAddNew_Click(object sender, EventArgs e)
{
...
bs.DataSource = null;
bs.DataSource = works;
}