我更改BindingSource的数据源时得到的错误
“数据绑定找不到适合所有绑定的所有绑定行的行”
this.RemoveAllBindings(); // My work-around for the meantime
bdsOrder.DataSource = _ds.Tables["orders"]; // errors here on second time around(first time is blank datatable, second time is when i open existing record, then it errors), dataset comes from Remoting
bdsOrderDetail.DataSource = _ds.Tables["order_detail"];
bdsPhoto.DataSource = _ds.Tables["order_photo"];
bdnPhoto.BindingSource = bdsPhoto;
My Helper扩展方法解决了“数据绑定无法找到行...”错误。
namespace MycComponentExtension
{
public static class Helper
{
public static void RemoveAllBindings(this Form form)
{
RemoveAllBindings((Control)form);
}
private static void RemoveAllBindings(this Control root)
{
foreach (Control c in root.Controls)
{
if (c.Controls.Count > 0) RemoveAllBindings(c);
root.DataBindings.Clear();
}
}
“DataBinding找不到行......”的含义是什么意思,如果可能的话,我可以消除我对它的解决方法吗?
答案 0 :(得分:3)
当没有涉及DataGridView时,我看到了这个错误,但是我的数据源正在从另一个线程更新(顽皮!),我的绑定有FormattingEnabled = false。改变这两个似乎解决了这个问题。