levien07 wrote:Em dùng C#
Em có 2 from1 và form2
Trong đó form1 em có DataGridview1 , em đã load csdl lên đó.
Form 2 Em có các textbox để nhập thông tin thêm mới.
Em muốn sau khi nhấn nút hoàn thành ở form2 thì DataGridview1 load lại thông tin vừa nhập vào mà không cần nhấn nút reload nào. Xin các bác chỉ giúp
Mình có 1 bài ví dụ tương tự như vấn đề của bạn, nhưng không kết nối csdl.
Form 1:

Khi click vào button Thêm thì sẽ hiển thị Form 2:
http://img442.imageshack.us/img442/8874/form2.pngSau khi nhập dữ liệu vào form 2, click chấp nhận thì dữ liệu sẽ update lên form 1.
Code Form 1:
namespace DanhSachThiSinh
{
public partial class frmMain : Form
{
frmThemTS frmThem;
private bool show = false;
public frmMain()
{
InitializeComponent();
this.ShowInTaskbar = true;
}
private void btnThoat_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Ban muon thoat chuong trinh?", "Thoat", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
Application.Exit();
else
return;
}
private void btnThem_Click(object sender, EventArgs e)
{
frmThem = new frmThemTS(this); //goi Form 2
show = true;
frmThem.Show();
}
}
}
Code Form 2:
namespace DanhSachThiSinh
{
public partial class frmThemTS : Form
{
private bool accept1;
private bool accept2;
frmMain frm;
public frmThemTS()
{
InitializeComponent();
}
public frmThemTS(frmMain frm_main)
{
InitializeComponent();
frm = new frmMain();
frm = frm_main;
this.ShowInTaskbar = true;
frm.ShowInTaskbar = false;
}
private void btnThoat2_Click(object sender, EventArgs e)
{
this.Close();
}
private void rdbChuyen_CheckedChanged(object sender, EventArgs e)
{
txtDiemCSDL.Enabled = false;
txtDiemTA.Enabled = true;
accept1 = true;
accept2 = false;
}
private void rdbSieuCup_CheckedChanged(object sender, EventArgs e)
{
txtDiemTA.Enabled = false;
txtDiemCSDL.Enabled = true;
accept1 = false;
accept2 = true;
}
private void btnChapNhan_Click(object sender, EventArgs e)
{
if (accept1 == true && accept2 == false)
{
if (txtSBD.Text != "" && txtHoTen.Text != "" && txtDiem1.Text != "" && txtDiem2.Text != "" && txtDiem3.Text != "" && txtDiemTA.Text != "")
{
ThiSinh ts = new ThiSinh(txtSBD.Text, txtHoTen.Text, float.Parse(txtDiem1.Text),
float.Parse(txtDiem2.Text), float.Parse(txtDiem3.Text), float.Parse(txtDiemTA.Text));
Chuyen chuyen = new Chuyen(float.Parse(txtDiemTA.Text));
ListViewItem lv = new ListViewItem(ts.SBD);
lv.SubItems.Add(ts.HOTEN);
lv.SubItems.Add(Convert.ToString(ts.BAI1));
lv.SubItems.Add(Convert.ToString(ts.BAI2));
lv.SubItems.Add(Convert.ToString(ts.BAI3));
lv.SubItems.Add(Convert.ToString(chuyen.DIEMTA));
lv.SubItems.Add(Convert.ToString(ts.Tong_Diem()));
frm.listView1.Items.Add(lv);
// nếu dùng csdl mình nghĩ bạn sẽ gọi hàm insert ở đây
}
else if (txtSBD.Text == "" || txtHoTen.Text == "" || txtDiem1.Text == "" || txtDiem2.Text == "" || txtDiem3.Text == "" || txtDiemTA.Text == "")
{
MessageBox.Show("Ban phai nhap day du thong tin!!!", "Loi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else if (accept2 == true && accept1 == false)
{
if (txtSBD.Text != "" && txtHoTen.Text != "" && txtDiem1.Text != "" && txtDiem2.Text != "" && txtDiem3.Text != "" && txtDiemCSDL.Text != "")
{
ThiSinh ts = new ThiSinh(txtSBD.Text, txtHoTen.Text, float.Parse(txtDiem1.Text),
float.Parse(txtDiem2.Text), float.Parse(txtDiem3.Text), float.Parse(txtDiemCSDL.Text));
SieuCup sc = new SieuCup(float.Parse(txtDiemCSDL.Text));
ListViewItem lv = new ListViewItem(ts.SBD);
lv.SubItems.Add(ts.HOTEN);
lv.SubItems.Add(Convert.ToString(ts.BAI1));
lv.SubItems.Add(Convert.ToString(ts.BAI2));
lv.SubItems.Add(Convert.ToString(ts.BAI3));
lv.SubItems.Add(Convert.ToString(sc.CSDL));
lv.SubItems.Add(Convert.ToString(ts.Tong_Diem()));
frm.listView2.Items.Add(lv);
}
else if (txtSBD.Text == "" || txtHoTen.Text == "" || txtDiem1.Text == "" || txtDiem2.Text == "" || txtDiem3.Text == "" || txtDiemCSDL.Text == "")
{
MessageBox.Show("Ban phai nhap day du thong tin!!!", "Loi!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}
}
Hi vọng ví dụ này có ích cho bạn