绑定到Linq to SQL的DataGridView不会显示添加到DB上下文其他位置的新行

时间:2009-05-02 15:31:49

标签: c# linq-to-sql datagridview

我有DataGridView绑定到LINQ to SQL查询表达式。我希望它可以编辑更新,但对于插入,我希望用户在网格下面使用单独的控件(文本框,日期选择器等 - 当前没有绑定任何东西)。我有一个“添加”按钮,根据控件中的值创建linq to sql实体类的对象,然后调用InsertOnSubmit()。当我稍后调用SubmitChanges()时,网格中的任何更新以及添加的任何对象都会正确保存到数据库中。

我的问题是,在调用SubmitChanges()之前或之后,没有任何新对象添加到网格中。我希望新对象一旦创建就添加到网格中。另外,我只希望网格下面的控件用于插入新记录,而不是编辑现有记录,因此我认为它们不应该绑定到数据源...实现这一目标的最佳方法是什么?

我确实尝试过简单地为网格重新设置DataSource(即dataGridView.DataSource = db.<TableName>,这是有效的,但是很笨拙,因为它再次滚动到网格顶部 - 我确定更好方法存在。

(请原谅n00b问题,我对所有这些内容都很新。网络内容:P)

1 个答案:

答案 0 :(得分:1)

要尝试的第一件事是GetNewBindingList(),但是这个帖子:“Linq-SQL canonical editable datagridview sample code”对其他场景有一些想法。