30/09/2018, 17:05
[Solved] Cập nhật dataGridView từ một form khác
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");
}
}
}
Bài liên quan
Vì khi mình gọi hàm getData() từ PopUpForm.cs thì phải thông qua 1 biến vì khác class
Mình tạo biến
Nên đây chỉ là cái biến instance mới mang kiểu 'MainForm; thôi chứ không phải là MainForm đang chạy kia
**
Solution
**
Và viết hàm dựng của PopUpForm trong PopUpForm.cs
Diễn đàn của chúng ta không có chức năng xóa bài viết nhé . 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
Đã sửa rồi đó bạn