如何将SQL数据绑定到.NET DataGridView?

时间:2010-04-08 20:07:39

标签: c# .net linq-to-sql data-binding

我正在尝试将SQL数据库中的表绑定到DataGridView控件。我想这样做,以便当用户在DataGridView中输入新的数据行时,记录会自动添加到数据库中。这是我目前的尝试......

    BOMClassesDataContext DB = new BOMClassesDataContext();

    Form_Load()
    {
        var mfrs = from m in DB.Manufacturers
                   select m;

        BindingSource bs = new BindingSource();
        bs.DataSource = mfrs;

        dataGridView1.DataSource = bs;
    }

    dataGridView_CellValueChanged()
    {
        try
        {
            DB.SubmitChanges()
        }
        catch(Exception Ex)
        {
            MessageBox.Show(Ex.Message);
        }
    }

如果我点击底部的空行,它会自动用“0”而不是下一个未使用的值填充表格的ID(标识)列。如果我手动将该值更改为下一个可用值,那么它会添加新记录,但如果我将其保留为0则不会执行任何操作。我怎样才能解决这个问题?在我的LINQ to SQL类中,表的ID列将AutoGenerate属性设置为true。

1 个答案:

答案 0 :(得分:1)

用户完成后需要执行DB.SubmitChanges()

使用Linq To SQL,在执行此操作之前,不会对基础数据库进行任何更改。