【发布时间】:2019-02-19 02:20:58
【问题描述】:
我有一个 DataGridView,它有很多行。加载需要很长时间。我想在加载时添加一个 ProgressBar。如何在我的代码中添加带有 manquee 样式的 ProgressBar。 (P.S.:我不知道我的 DataGridView 的行数,它每次都会改变。)
这是我的代码;
conection.Open();
string[] ss = listBox2.SelectedItem.ToString().Split(' ');
int countss = ss.Count();
for (int mi = 0; mi < countss; mi++)
{
string mq = "select c1, c2, c3 from myTableName WHERE c1='" + ss[mi] + "' OR c2='" + ss[mi] + "'";
SqlDataAdapter s = new SqlDataAdapter(mq, connection);
DataTable d = new DataTable();
s.Fill(d);
foreach (DataRow r in d.Rows)
{
dgv1.Rows.Add(r["c1"].ToString() + " " + r["c2"].ToString(), r["c3"]);
}
}
//Some insignificant operations...
for (int mi2 = 0; mi2 < cmn; mi2++)
{
string mq2 = "select c1, c2, c3 from myTableName WHERE c1='" + cmn[mi2] + "' OR c2='" + cmn[mi2] + "'";
SqlDataAdapter s2 = new SqlDataAdapter(mq2, conection);
DataTable d2 = new DataTable();
s2.Fill(d2);
foreach (DataRow r2 in d2.Rows)
{
dgv2.Rows.Add(r2["c1"].ToString() + " " + r2["c2"].ToString(), r2["c3"]);
}
}
coneciton.Close();
【问题讨论】:
-
创建一个带有进度条的新表单。使用 form.show() 运行表单,然后每次添加行时更新进度条上的值,总行数可以从 d.rows.count 获得,使用它可以计算总完成度。如果你想使用显示对话框,那可能会很棘手
-
@Anil 嗨,先生。你有关于我如何做到这一点的示例代码或文章吗?我是一个新的编码员。有时我很难理解。谢谢...
-
可以不用foreach吗?
-
在
DataGridView.DataSource上进行谷歌搜索。 -
此外,正如我之前所说,您应该寻找更快加载数据的方法。添加进度条只会花费更长的时间。
标签: c# datagridview datatable progress-bar