應用程序說明:
在C#中開發了一個小型Windows MDI應用程序,其中多個用戶在分派之前更新和掃描產品條形碼。我們使用SQL作爲數據庫。C#窗口顯示從數據庫更新窗體GUI時加載GIF
活動:
監事已命名的形式在應用程序,他們可以選中多個計數的細節,如掃描每個用戶,每天掃描計數,每小時掃描計數,產品掃描計數等
所做的一切儀表板:
我已經使用了多個列表視圖和標籤來成功顯示這些細節。
要求:
該數據庫包含數百萬條掃描記錄。我正在使用多個存儲過程來更新列表視圖和標籤。加載同樣需要時間。我想在後臺完成加載時在圖片框中顯示動畫GIF。
我嘗試過使用線程和後臺工作器,但更新多個控件,如列表視圖和主GUI上的標籤看起來不可行[跨線程]。這是實現這一目標的唯一方法,請指導我朝正確的方向發展。
string queryString = "select scanby,count(distinct refno),count(1) from SecRec where scan='Y' and convert(varchar(10),ScanTime,111) like '" + comboDate + "' group by scanby order by 3,2 desc";
lstVUser.Clear();
lstVUser.Columns.Add("User", 105);
lstVUser.Columns.Add("Cust", 60);
lstVUser.Columns.Add("Imp", 60);
using (SqlConnection conn = new SqlConnection(connectString))
{
SqlCommand cmd = new SqlCommand(queryString, conn);
try
{
conn.Open();
SqlDataAdapter adp = new SqlDataAdapter(queryString, conn);
DataTable dt = new DataTable();
adp.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
ListViewItem listitem = new ListViewItem(dr[0].ToString());
listitem.SubItems.Add(dr[1].ToString().PadLeft(3));
listitem.SubItems.Add(dr[2].ToString().PadLeft(3));
lstVUser.Items.Add(listitem);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
你在使用:WPF或WinForms的? – Zippy
Windows窗體(WinForms)。 –