过去几天我一直在尝试不同的方法来克服这个问题,但我还没有找到解决问题的可靠方法。问题是我必须重新加载表单,以防第一次启动应用程序并且由于网络或SQL连接问题而未填充组件。截至目前,每个人都在关闭应用程序并重新启动,因为他们第一次启动应用程序时组件是空的。
以下是我正在使用的代码。
private void Reports_Load(object sender, EventArgs e)
{
//START:
try
{
RevenueDate_dt = func.getResult(dateQuery);
foreach (DataRow dr in RevenueDate_dt.Rows)
{
comboBox1.Items.Add(dr["Global_Period_Month"].ToString());
}
}
catch (Exception ex)
{
//goto START;
MessageBox.Show("Network is too slow! Please close the application and try again later");
}
}
功能:
public DataTable getResult(string query)
{
//con.Open();
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand(query, con);
cmd.CommandTimeout = 0;
da.SelectCommand = cmd;
da.Fill(dt);
return dt;
}
我在表单上放置了一个重试按钮,所以如果组件第一次没有填充数据,那么每个人都可以使用重试按钮加载组件,而不是关闭整个应用程序并重新开始。
答案 0 :(得分:1)
您可以通过调用Reports_Load
中的event
retry button
来填充组件。 Reports_Load
将填充您的组件。检查以下代码。
CODE:
private void retry_Click(object sender, EventArgs e)
{
Reports_Load(null, null);
}