我在申请表1和表单2中有两个表单。表单1是我将数据网格视图绑定到数据源的主要表单。 在单元格内容点击事件我打开另一种形式我。即形式2通过最小化形式1。
表格2上的我有1个按钮“取消”。我希望当我单击此按钮时,表单2应该关闭,表单1应该通过刷新其数据源恢复到以前的位置。我想使用表单2进行更新。当我在表单2上单击“确定”时,数据库会更新,当我单击取消时,表单2应该关闭,表单1应该通过刷新其数据源变得可见。数据库已成功更新,但我无法将表单1恢复到其原始位置。
在表单1 OnLoad事件上,我已将数据网格视图绑定到数据源。所以我也希望当表单1恢复时它应该反映我对其所做的更改。
先谢谢。
表单1加载和单元格内容点击的代码是
private void Viewcashvoucher_Load(object sender, EventArgs e)
{
SqlConnection c = new SqlConnection();
c.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename='D:\\Documents\\Visual Studio 2008\\Projects\\Accounts\\Accounts\\Database1.mdf';Integrated Security=True;User Instance=True";
c.Open();
string s = "Select main_key as M_KEY ,vc_type as VT, date as DATE,vc_number as VOUCH_NO,account_n as ACCOUNT,amount as AMOUNT from lgr order by date desc";
SqlCommand cmd = new SqlCommand(s, c);
SqlDataReader dr = cmd.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(dr);
dataGridView1.DataSource = dt;
c.Close();
dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[1].Visible = false;
}
答案 0 :(得分:1)
您可以在form1中创建一个公共方法来恢复它并刷新dataGridView数据:
在Form1中创建一个公共方法:
public void RestoreAndRefresh()
{
this.Show();
dataGridView1.DataSource = dt; //Or perform the refresh rutine you want.
}
在Form2中添加一个Form1类型的变量:
public From1 f1Parent {get; set;}
在Form1中创建Form2时,只需添加以下行:
Form2 f2 = new Form2();
f2.f1Parent = this;
f2Show();
最后,在Form2的“确定”和“取消”按钮中添加以下行:
f1Parent.RestoreAndRefresh();
this.Close();
您需要根据需要调整RestoreAndRefresh方法,但它应该恢复Form1。