如何用BeginInvoke方法解决SetCurrentCellAddressCore 异常

实现效果就是,双击单元格修改之后,数据要及时更新到数据库,然后把更新后的数据重新绑定到控件中,但是在重新绑定数据的时候会报错,错误信息为:原因是它导致对
SetCurrentCellAddressCore 函数的可重入调用。通过网上搜索,用BeginInvoke解决了这个异常。

public delegate void MyInvoke();

public void DoWork()

{

MyInvoke mi = new MyInvoke(DataBind);

this.BeginInvoke(mi);

}

数据绑定的时候调用DoWork()这个方法就可以了!其中DataBind就是数据绑定的方法!

时间: 2024-08-04 12:51:58

如何用BeginInvoke方法解决SetCurrentCellAddressCore 异常的相关文章

VS2010 F5调试时出现:“ 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常”解决

S2010 F5调试时出现 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常 两个解决方法:1) 打开项目属性,选择调试选项卡,将“启用非托管代码调试”一项钩上.2) 打开项目属性,选择调试选项卡,将“启用Visual Studio宿主进程“一项钩掉. 原文地址:https://www.cnblogs.com/gisoracle/p/9690123.html

解决java异常的方法:

解决java异常的方法:1.首先要把异常打印处理(有时有人会直接catch,然后不打印任何日志)2.然后分析使用的java api,自己是否熟悉,如果不熟悉,看看java 源码有什么注释可以帮助你来分析问题的原因3.上网搜资料(很多人很多时候上来就去网上搜,这种做法不可取,甚至搜了半天也没有解决问题,应该先看源码注释来分析)比如,java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util

解决SQLite异常:library routine called out of sequence

在项目开发中,使用SQLite一不小心就会碰到各种DB异常,网上搜了下没有这方面的资料,写出来记录下. 异常信息:android.database.sqlite.SQLiteMisuseException: library routine called out of sequence: , while compiling: ...... 解决这种异常有2个办法:方法一:单例模式使用DB时,函数[方法]上加同步synchronized即可解决. 方法二:工厂模式使用DB也可以解决(或者在线程中ne

Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析

原文:Dispatcher.BeginInvoke()方法使用不当导致UI界面卡死的原因分析 前段时间,公司同事开发了一个小工具,在工具执行过程中,UI界面一直处于卡死状态. 通过阅读代码发现,主要是由于Dispatcher.BeginInvoke()方法使用不当导致的. 本文将通过一个WPF模拟程序来演示一下界面卡死的现象,并通过修改代码来解决界面卡死的问题. 希望通过对本文的学习,大家能对Dispatcher.BeginInvoke()方法有一个新的认识. 文章开篇直接给出界面卡死的示例代码

如何用命令行解决可执行文件的权限问题

在用命令行执行一个后台监控的可执行文件时出现了如下提示: [[email protected] 桌面]# nohup /etc/nginx_check.sh nohup: 忽略输入并把输出追加到"nohup.out" nohup: 无法运行命令"/etc/nginx_check.sh": 权限不够 或: [[email protected] 桌面]# nohup /etc/nginx_check.sh nohup: ignoring input and append

[转载]Winform中Control的Invoke与BeginInvoke方法

转自http://www.cppblog.com/baby-fly/archive/2010/04/01/111245.html 一.为什么 Control类提供了 Invoke和 BeginInvoke机制? 关于这个问题的最主要的原因已经是 dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己. 1. windows程序消息机制 Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵.这个消息泵让 windows程序生生不息. Windows

BeginInvoke 方法真的是新开一个线程进行异步调用吗?

转自原文BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void treeinvoke(); private void UpdateTreeView() { MessageBox.Show(System.Threading.Thread.CurrentThread.Name); } private void button1_Click(object sender, System.EventArgs e) { System.Threa

Laravel4快速安装方法,解决Laravel4安装速度慢

Laravel4原始安装方法 Laravel4 是构建在 Composer 之上的, 之前的安装方法是如下: composer create-project laravel/laravel your-project-name --prefer-dist 1 composer create-project laravel/laravel your-project-name --prefer-dist 然后再 composer install 1 composer install 十分钟过去了 ….

Maven构造版本号的方法解决浏览器缓存问题

需要解决的问题 在做WEB系统开发时,为了提高性能会利用浏览器的缓存功能,其实即使不显式的申明缓存,现代的浏览器都会对静态文件(js.css.图片之类)缓存.但也正因为这个问题导致一个问题,就是资源的缓存逻辑有时出现问题后服务器的最新版本文件无法更新客户端的缓存. 这个问题会给用户产生许多的困扰,当然首先是测试人员会很头痛,一些看起来没有修复的bug为什么开发要说做好了?这种时候我会无奈的说:ctrl+f5刷新一下.但这毕竟不是解决问题的方法. 思路与方法考虑 思路 之前没有着手处理过这样的问题