Mình có MainForm chứa dataGridView, và PopUpForm chứa các txtBox để điền thông tin và btAdd để thêm dữ liệu vào Database.
Khi MainForm.cs load thì đồng thời load data vào dataGW bằng hàm getData() Sau đó click button mở PopupForm để thêm…
//Hàm trong MainForm.cs
public void getData(string cmdString)
{
connectData();
DataTable dt = main.GetDataTable(cmdString);
this.dataGWMain.DataSource = dt;
}
private void AddButton_Click(object sender, EventArgs e)
{
ShowAddForm();
}
Sau khi nhấn Done trên PopUpForm thì nó tự thêm vào dataBase và gọi lại hàm getData() từ PopUpForm.cs để cập nhật. Nhưng dataGW vẫn ko thay đổi?
Mình đã chỉnh modifier của dataGW là Public rồi
//Hàm trong PopUpForm.cs
private void btDone_Click(object sender, EventArgs e)
{
if (isAddBlank() == false)
{
Main main = new Main();
bool result = false;
result = main.addStudent("insert into Data(name, studentID, birthday, gender,faculty,class,address) values (N'" + txtAddName.Text + "'," + txtAddMSSV.Text + ",'" + dateTPAdd.Text + "',N'" + cbAddGender.Text + "', N'" + cbAddFalcuty.Text + "', '" + cbAddClass.Text + "', N'" + txtAddAddress.Text + "')");
if(result == true)
{
this.Close();
MainForm mainfrm = new MainForm();
mainfrm.getData("select * from Data");
}
}
}
. Nếu bạn đã tự giải quyết được câu hỏi của mình thì có thể đăng cách giải quyết để những người khác có thể tham khảo nhé, cảm ơn 

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?