子窗体保存事件:
private void buttonsave_Click(object sender, EventArgs e){
((frmOrderFieldMgr)Owner).OrderFieldData();
}
以下是父窗体函数
public void OrderFieldData()
{ dataGridView1.Rows.Clear();
DataSet dstmp = OLEDBClass.RunSqlGetDataSet("select * from orderfields order by rowid");
for (int i = 0; i < dstmp.Tables[0].Rows.Count; i++)
{
dataGridView1.Rows.Add();
foreach (DataGridViewColumn col in dataGridView1.Columns)
{ dataGridView1.Rows[i].Cells[col.Name].Value = dstmp.Tables[0].Rows[i][col.Name].ToString();
}
}
}我在子窗体调用父窗体的函数OrderFieldData()更新DataGridView的数据,数据虽然已经更新了,但是父窗体的DataGirdView没有显示更新后的记录,但如果在OrderFieldData()里面加一句MessageBox.Show("");那么记录能正常显示
出来,请问如何解决这个问题。我使用了 Refresh()和Validate()进行刷新,也没任何反应,请帮忙解决
private void buttonsave_Click(object sender, EventArgs e){
((frmOrderFieldMgr)Owner).OrderFieldData();
}
以下是父窗体函数
public void OrderFieldData()
{ dataGridView1.Rows.Clear();
DataSet dstmp = OLEDBClass.RunSqlGetDataSet("select * from orderfields order by rowid");
for (int i = 0; i < dstmp.Tables[0].Rows.Count; i++)
{
dataGridView1.Rows.Add();
foreach (DataGridViewColumn col in dataGridView1.Columns)
{ dataGridView1.Rows[i].Cells[col.Name].Value = dstmp.Tables[0].Rows[i][col.Name].ToString();
}
}
}我在子窗体调用父窗体的函数OrderFieldData()更新DataGridView的数据,数据虽然已经更新了,但是父窗体的DataGirdView没有显示更新后的记录,但如果在OrderFieldData()里面加一句MessageBox.Show("");那么记录能正常显示
出来,请问如何解决这个问题。我使用了 Refresh()和Validate()进行刷新,也没任何反应,请帮忙解决
使用dataGridView1的Refresh()试试,
使用form的Refresh()试试,
dataGridView1.Refresh();
dataGridView1.Show();