九九

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如题求解,不知道有没有用C#做过类似的需求。

WINFORM的

页面有2个DataGridView,dgvMain,dgvDetail,主表绑定DataTable dtmain,

在dgvMain_CurrentCellChanged事件中,根据主表的唯一单号生成若干比从表数据,绑定到dgvDetail中,

开启一个另外一个线程,循环更改dgvDetail中行的某列值,

问题在于,若此时刚好用户切换dgvMain的选中行,而线程还在继续修改行的值,然后就是莫名其妙的很多错误,

类似 所在行的索引错误,DataTable已损坏,初步猜测应该是 主表切换选中行的时候,线程还在修改之前的从表数据。。。

附上源代码,https://files.cnblogs.com/jo99/Win.Lock.rar

求解,

错误一般在快速切换主表选中行的时候出来,“快速”

还是说原本主从表的绑定方法就不对?

应用的原型是 股票行情价格,要是有侠客用C#或其他语言实现过类似的需求,希望给点拨点拨。。

不是一直有人说C#的效率问题么,如今有这么个需求应用中,应该怎么样来完全保证数据没有异常,算是多线程应用对效率要求比较高的。

 

-----------

posted on 2011-01-18 14:15  九九  阅读(2190)  评论(2)    收藏  举报