如题求解,不知道有没有用C#做过类似的需求。
WINFORM的
页面有2个DataGridView,dgvMain,dgvDetail,主表绑定DataTable dtmain,
在dgvMain_CurrentCellChanged事件中,根据主表的唯一单号生成若干比从表数据,绑定到dgvDetail中,
开启一个另外一个线程,循环更改dgvDetail中行的某列值,
问题在于,若此时刚好用户切换dgvMain的选中行,而线程还在继续修改行的值,然后就是莫名其妙的很多错误,
类似 所在行的索引错误,DataTable已损坏,初步猜测应该是 主表切换选中行的时候,线程还在修改之前的从表数据。。。
附上源代码,https://files.cnblogs.com/jo99/Win.Lock.rar
求解,
错误一般在快速切换主表选中行的时候出来,“快速”
还是说原本主从表的绑定方法就不对?
应用的原型是 股票行情价格,要是有侠客用C#或其他语言实现过类似的需求,希望给点拨点拨。。
不是一直有人说C#的效率问题么,如今有这么个需求应用中,应该怎么样来完全保证数据没有异常,算是多线程应用对效率要求比较高的。
-----------
浙公网安备 33010602011771号