第二行后DataGridView没有更新

时间:2014-10-18 06:05:32

标签: c# winforms datagridview

我是第一次在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;
        }

     }

Application snapshot

1 个答案:

答案 0 :(得分:1)

您需要重置绑定源的数据源。

尝试

private void btnAddNew_Click(object sender, EventArgs e)
{
   ...
   bs.DataSource = null;
   bs.DataSource = works;
}