まだC#には比較的新しいので、アプリに適したバックグラウンドワーカーとプログレスバーに頭を悩ませようとしています。次のコードは、datagridviewに新しい列を追加し、新しい列のすべてのセルをゼロで埋めることを示しています。 (0)。このためのバックグラウンドワーカーとプログレスバーを実装するための最良の方法は何でしょうか。プロセス全体には約15秒かかるため、ユーザーに何かが起こっていることを示すプログレスバーが必要です。
新しい列を追加して入力するためのコードは次のとおりです。
//Creates new column in the datagridview
DataGridViewColumn newCol = new DataGridViewColumn();
newCol.CellTemplate = new DataGridViewTextBoxCell();
newCol.HeaderText = tbAddSupp.Text.ToUpper();
newCol.Name = tbAddSupp.Text.ToUpper();
newCol.Visible = true;
dgvStock.Columns.Add(newCol);
cbSuppList.Items.Clear();
cbSuppList2.Items.Clear();
//Adds the default 0 value to all the cells in the new column
//ITS TOO SLOW THOUGH....!!!!!
int cellVal = 0;
foreach (DataGridViewRow row in dgvStock.Rows)
{
for (int r = 0; r < dgvStock.Rows.Count - 1; r++)
{
dgvStock.Rows[r].Cells[newCol.Name.ToString()].Value = cellVal;
}
}