场景:
System.Windows.Forms.DataGridView
inheritanceBindingSource和IBindingList的类
如何断言一个exception没有被提出?
这个Windows API调用WaitForSingleObject有什么问题?
如何在不丢失原始调用堆栈的情况下重新抛出exception?
用WinDbgdebugging0xc000001dexception
即使没有其他必要,合法的epilog是否需要包含一个虚拟的rsp调整?
具有2个标准List作为私有属性的类
DataGridView dgv =新…
MyBindingSource bindingSource = new …
MyList list = new …
DataGridView.DataSource属性被设置为BindingSource并且BindingSource.DataSource被设置为列表的私有列表之一
bindingSource.DataSource = list.ListA;
dgv.DataSource = bindingSource;
我正在从数据库中获取大量信息,并将信息转换为对象,并逐个将其添加到MyList中,最后应显示在DataGridView中。
我希望一切都有道理,现在的问题:添加一个单一的对象到列表(而不是绑定源)我希望项目显示在DataGridView。 但是我现在唯一能做的就是用附加的1个新对象构造另一个bindingSource实例,并将DataGridView.DataSource设置为新的bindingSource。 这当然是非常低效的,datagridview每次都会使整个事情失效,这是狡猾的。
相反,我希望列表通知BindingSource告诉DataGridView一个新的对象已被添加,所以它可以做到这一点。 我试过这个,但我不断得到一个IndexOutOfrangeexception,说'项目在索引-1没有价值'。 我看了一下BindingSource,实际上位置是-1,Current属性抛出了同样的exception。 当我每次创build新的BindingSource的位置和当前属性是正确的。
那么当我向列表中添加项目时,为了使这些属性得到更新,我需要做些什么? 我用reflection器打开它,看看它被设置的位置,看起来像“货币pipe理器”与它有关。 我尝试了一些像base.OnDataMemberChanged base.OnListChanged一些东西无济于事。
编辑:忘了提及我只收到exception,当我点击DataGrid视图中的行,它添加项目罚款。 所以就像DataGridView与BindingSource不同步
无法在Ubuntu 14.04上运行Weka资源pipe理器
C ++exception处理程序问题
ocl :: CRException的Typeinfo
是否有可能在Windows上捕获另一个进程的未处理的exception?
当DataSource改变其内容时,DataGridView会清除其网格,并引发SelectionChanged事件和其他与用户交互相关的事件。 知道事件发生时根本没有数据显示,所以如果你得到了一个SelectionChanged事件监听器,并且正在访问里面的行或者列,那么在访问行的时候就会出现异常的异常。 解决方案:在使用任何数据网格资源之前,始终检查Rows.count是否为0值。 干杯
你有没有考虑过使用ObservableCollection ? 无论何时添加或从集合中移除项目,都将通知控件已经更新的绑定。 它也会对集合中的项目属性也做同样的事情(尽管你必须手动提高事件)
我不确定是什么原因导致了异常
如果您使用BindingList(通用),它会通知项目添加/删除和单个项目更改以及。 ( http://msdn.microsoft.com/en-us/library/ms132679.aspx )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。