我有這樣的應用程序:刷新數據網格當對話框形成閉合
- 有一個主要形式(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