我有这样的应用程序:刷新数据网格当对话框形成闭合
- 有一个主要形式(frmMasuk)与DataGrid和“新增”按钮
- 当有人点击添加新的,它显示的对话框窗体(Form2)添加新数据。
- 当用户点击对话框的形式“保存”,它将被关闭并 数据网格将被刷新
我有一个问题,当对话框窗体关闭,数据网格必须刷新。
这是我的一些代码:
frmMasuk:
public frmMasuk()
{
InitializeComponent();
SqlCommand sql = new SqlCommand("SELECT * FROM kas ORDER BY id_kas, tanggal DESC", koneksi.mykonek);
koneksi.openkonek();
SqlDataReader reader = sql.ExecuteReader();
DataTable a = new DataTable();
a.Load(reader);
koneksi.closekonek();
dgv.DataSource = a;
dgv.Enabled = true;
}
private void button3_Click(object sender, EventArgs e)
{
frmKasNew a = new frmKasNew();
a.ShowDialog();
}
frmKasNew:
private void simpankas()
{
koneksi.openkonek();
DateTime tgl = Convert.ToDateTime(ttanggal.Text);
SqlCommand sql = new SqlCommand("INSERT INTO kas(tanggal, jenis, jumlah, keterangan) VALUES('"+ tgl +"','"+ tjenis.Text +"','" + tjumlah.Text + "','" + tket.Text +"') ",koneksi.mykonek);
int exe = sql.ExecuteNonQuery();
if (exe == 0)
{
MessageBox.Show("Data gagal disimpan ke database", "Aplikasi KAS Usaha", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
else
{
MessageBox.Show("Data berhasil disimpan!", "Aplikasi KAS Usaha", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.Dispose();
}
}
private void button3_Click(object sender, EventArgs e)
{
if (ttanggal.Text == "" || tjenis.Text == "" || tjumlah.Text == "" || tket.Text == "")
{
MessageBox.Show("Harap melengkapi data sebelum menyimpan","Aplikasi KAS Usaha",MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
else
{
simpankas();
}
// end if
}
可能重复的[关闭子窗体时如何刷新datagridview?](http://stackoverflow.com/questions/2395624/how-to-refresh-datagridview-when-closing-child-form) – 2015-03-19 01:33:04
但我得到了一个问题在: private void button3_Click(object sender,EventArgs e) {frmKasNew a = new frmKasNew(this); a.ShowDialog(); } .. 消息: 不包含带1个参数的cunstructor – Dharmana 2015-03-19 01:38:05
您在子窗体中忘记了这部分Form1 _owner; public Form2(Form1所有者){ _owner = owner; this.FormClosing + = new System.Windows.Forms.FormClosingEventHandler(this.Form2_FormClosing); } private void Form2_FormClosing {object sender,FormClosingEventArgs e { _owner.PerformRefresh(); } – CheGueVerra 2015-03-19 02:11:56