我在開發.net網絡應用程序很長時間的經驗,但今天我被要求創建一個Windows窗體應用程序來創建基於數據庫的一些數據的Excel和我不是Windows窗體上的專家。BackgroundWorker創建excel,需要根據奇/偶寄存器風格化
它的完成和工作。我使用後臺工作人員添加了一個進度條,所以程序可以繼續響應,現在我想根據其OrderId更改該行的bgcolor。
我增加了以下內容:
backgroundColor = backgroundColor == Color.White ? Color.WhiteSmoke : Color.White;
這行代碼是正確的波紋管我的訂單的foreach,我的訂單可能有很多支付等等,所以它會像對excel多行只是一個訂購。
沒有BackgroundWorker,所有的東西都像我想的那樣工作,但是,添加它會混亂一切,因爲它在一個線程中發生了一些奇怪的事情。
我希望我能讓自己變得非常清楚,也希望能爲這個「問題」找到答案。
下面是BackgroundWorker的代碼,這CreateExcel方法裏面有訂單一個foreach,但BackgroundWorker的螺紋和我着色的bgcolor爲每個不同的順序邏輯是不工作...
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
Util.CreateExcel(_orders, _fileName, sender as BackgroundWorker, e);
}
我嘗試發佈一些圖片,但我需要更多的聲譽。
所需結果類似'斑馬',每個訂單都有不同的bgcolor。如果沒有backgroudworker,這可以正常工作,但結果很奇怪,有些訂單與其他訂單具有相同的bgcolor,並且一些訂單沒有問題。
「某事發生怪異」是不足夠。什麼具體出錯了? – Haney
進出口可怕對不起....問題是,行被錯誤地着色,像orderid 1應該是白色的兩條線,只有1是白色的,另一個是灰色的。我想讓奇數/偶數在excel上爲每個訂單着色bgcolor。 –
你能提供一個線程代碼嗎? – Haney