對於我正在處理的項目,我使用一組DataGridView組件來顯示一些數據。每個DataGridView都有自己的DataTable關聯它。要顯示的數據是定期發送的。我的應用程序必須讀取這些數據,解析它並相應地填充數據網格。因爲我想維護表單的響應能力,所以我在無盡的後臺工作人員中實現了數據接收(阻塞)。從線程更新數據綁定數據表安全嗎?
在後臺worker中,我獲取數據並將其解析/轉換爲適合DataTable的值。現在這是我的問題:目前我將這些值直接分配給DataTable對象。 (所以我從背景工作者的DoWork事件中這樣做)
我想知道這是否有效。我確實有索引超出界限例外,我想知道這是否與此有關。這是一個安全和推薦的方式,或者我應該在我的BackgroundWorker的DoWork事件中使用調用來更新DataTables?
爲什麼你會用這個單線程?看起來你應該爲每個控件使用一個Background Worker。你應該做Invokes,不完全確定你在做什麼,如果你想要更詳細的回覆,請提供代碼。 – 2012-07-11 14:40:56