在窗体(NewReplaceFrameForm)中重新绑定另一个窗体(MainForm)的Datagridview(dgv_ReplaceFrameHead),程序没有出错,从数据库返回的数据也没有错,但是Datagridview的数据就是没有改变!!要疯了,到底是哪里出了问题

NewReplaceFrameForm窗体重绑定Mainform中的Datagridview的代码如下:
#region "重新绑定Mainform窗体中的镜架换料单"
MainForm f = new MainForm(UserID, Password, UserType);
DataTable dtFrameReplaceDetail = db.ExceComdReturnDataTable("proc_ShowReplaceFrame", CommandType.StoredProcedure, null);
if (dtFrameReplaceDetail != null && dtFrameReplaceDetail.Rows.Count > 0)
{
f.dgv_ReplaceFrameHead.DataSource = dtFrameReplaceDetail;
f.dgv_ReplaceFrameHead.ClearSelection();
}
else
{
DataTable dt2 = (DataTable)f.dgv_ReplaceFrameHead.DataSource;
dt2.Rows.Clear();
f.dgv_ReplaceFrameHead.DataSource = dt2;
}
#endregion
------解决思路----------------------
你单步调试下啊
1、确定给dgv_ReplaceFrameHead赋值的数据源是否有记录?
2、dgv_ReplaceFrameHead绑定的列名是否包含在你赋值的数据源里面?
------解决思路----------------------
MainForm f1 = new MainForm(UserID, Password, UserType);
MainForm f2 = new MainForm(UserID, Password, UserType);
你觉得f1和f2同一个实例吗?如果不是,改变f1的属性可以改变f2吗?
你现在认为代码里的MainForm f和已经显示了的MainForm是用一个实例吗?
------解决思路----------------------
这问题不是昨天问过了
没解决就结贴了??
MainForm f = new MainForm(UserID, Password, UserType);
你这还是一开始就不对了
不要重新实例化MainForm啊
你应该去获取当前显示的MainForm实例,然后使用委托去调用它里面的方法
------解决思路----------------------
意思你应该去改原来已经new出来的form,而不是再new一个form,再new的话跟已经显示出来的没有一毛钱关系