我遇到了将数据绑定到DataGridView的问题。
我有一个继承自DataGridView的MyDataGridView类。我的数据网格视图数据源是一个BindingSource对象,它将DataTable作为数据源。
问题是,当我通过(我的)DataGridView对象进行更改时 - rowState保持'未修改'而不是修改;即使DataTable中的值发生了变化(这也是我的更新不起作用的原因,因为它认为rowState是未定义的)。请注意,直接对DataTable进行更改可以正常工作。
谢谢(:
答案 0 :(得分:3)
您必须调用包含网格的表单的Validate方法。此方法会影响网格,就像将焦点移动到网格中的另一行一样。
答案 1 :(得分:1)
好的,所以在使用google之后我发现调用DataTable.Rows [index] .EndEdit()解决了这个问题。我不确定这是不是应该这样做,但它解决了问题。 (为了调用该方法,我使用DataGridView.CellEndEdit事件)。
答案 2 :(得分:0)
你能告诉我们MyDataGrdView类代码吗?
我认为我已经知道了解决方案: 您必须重新绑定数据源,以便控件知道何时更新
调用DataGridView.DataBind();
evrytime您已更改数据源。
您也可以使用DataTable执行此操作。