C# 刷新DataGridView而无需重新启动程序
我在刷新DataGridView时遇到问题 我从C# 刷新DataGridView而无需重新启动程序,c#,database,datagridview,C#,Database,Datagridview,我在刷新DataGridView时遇到问题 我从Form1打开Form2,在Form2中添加新记录并关闭Form2,当我返回到DataGridView所在的Form1时,没有任何更改:( 若我关闭程序并再次运行它,就会有新的记录 如何在关闭Form2时刷新DataGridView,以便在返回Form1时有更新的记录 以下是我的示例代码: Form1 = window with dataviewgrid + 1 button (ADD NEW) private void button1_Clic
Form1
打开Form2
,在Form2
中添加新记录并关闭Form2
,当我返回到DataGridView所在的Form1时,没有任何更改:(
若我关闭程序并再次运行它,就会有新的记录
如何在关闭Form2时刷新DataGridView,以便在返回Form1时有更新的记录
以下是我的示例代码:
Form1 = window with dataviewgrid + 1 button (ADD NEW)
private void button1_Click(object sender, EventArgs e)
{
Form2 okno2;
okno2 = new Form2();
okno2.Show();
}
表格2:
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=c:\users\ja\documents\visual studio 2010\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Database1.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand();
public Form2()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
private void button1_Click(object sender, EventArgs e)
{
if (txt_imie.Text !="" & txt_nazwisko.Text !="" & txt_adres.Text !="")
{
con.Open();
cmd.CommandText = "insert into tabelka1 (imie,nazwisko,adres) values ('"+txt_imie.Text+"','"+txt_nazwisko.Text+"','"+txt_adres.Text+"' )";
cmd.ExecuteNonQuery();
cmd.Clone();
MessageBox.Show("Record added");
cmd.CommandText = "refresh";
cmd.EndExecuteNonQuery();
cmd.Connection.Close();
this.Close();
}
}
private void Form2_Load(object sender, EventArgs e)
{
cmd.Connection = con;
}
}
}
实现Form2的formClosed事件,然后可以刷新datagridview
private void button1_Click(object sender, EventArgs e)
{
Form2 okno2;
okno2 = new Form2();
okno2.Show();
form2.FormClosed += Form2OnFormClosed;
}
private void Form2OnFormClosed(object sender, FormClosedEventArgs args)
{
// Code for refreshing
}
还要添加代码,说明如何加载GridView别忘了表单关闭可以取消表单关闭取消表单2时也会调用表单关闭事件。无法获取您的信息!取消关闭时不必刷新,对吗?没错,您必须检查参数是否未取消。谢谢!这一项也错误。表单关闭c在下一个
EventHandler
中也可以取消一个事件,不是吗?