我需要在按钮点击时重新加载表单

时间:2017-04-12 19:31:40

标签: c# sql

过去几天我一直在尝试不同的方法来克服这个问题,但我还没有找到解决问题的可靠方法。问题是我必须重新加载表单,以防第一次启动应用程序并且由于网络或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;
}

我在表单上放置了一个重试按钮,所以如果组件第一次没有填充数据,那么每个人都可以使用重试按钮加载组件,而不是关闭整个应用程序并重新开始。

1 个答案:

答案 0 :(得分:1)

您可以通过调用Reports_Load中的event retry button来填充组件。 Reports_Load将填充您的组件。检查以下代码。

CODE:

private void retry_Click(object sender, EventArgs e)
{
    Reports_Load(null, null);
}