解决方案 »
- 对DataGridView控件的几个关键扩展(更新版)
- .net C# 上操作FTP问题
- 【正则表达式难题4】续:匹配[sum(tab1.col1) where (col2 = '01' or (col3 > 0 and col1 = 1)) and col4 <>'02')]规则的校验!
- ORACLE处理数据问题
- ManualResetEvent的Reset问题? 请教大家!
- 关于C#数据库编程的习惯问题
- 用过log4net的兄弟请看进来 :)
- 在线等待即时通讯系统的需求分析!
- 请问托管和命名空间是什么意思?
- win datagrid的DoubleClick响应如何能更顺畅问题?
- HttpWebRequest 访问网站PV值不增加是什么原因【代码】
- 如何建这个表才能实现这个功能
public DataGridView MyGridView
{
get
{
return dataGridView1;
}
set
{
dataGridView1 = value;
}
}
这里错了吧
应该是Form1 frm=new Form1();
frm.MyGridView.DataSource = dt;
要是改成是Form1 frm=new Form1();
frm.MyGridView.DataSource = dt;
的话,那只是新建了另一个窗口
//窗体1
public Form1()
{
InitializeComponent();
}
private Form2 f2;
private void button1_Click(object sender, EventArgs e)
{
this.button1.Text = "弹出form2";
if (f2 == null)
{
f2 = new Form2();
f2.BtnClick += new EventHandler(
(sender1, e1) =>
{ this.dataGridView1.DataSource = f2.GetData(); }//根据form2的数据进行更新
);
f2.FormClosed += new FormClosedEventHandler(
(sender2, e2) => { f2 = null; }
);
f2.Show();
}
else
{
f2.Activate();
}
}
//窗体2
public Form2()
{
InitializeComponent();
} public event EventHandler BtnClick; private void button1_Click(object sender, EventArgs e)
{
this.button1.Text = "获取新的DGV数据";
if (BtnClick != null)
BtnClick(this, e);
GetData();//用于在当前页显示数据
}
public string GetData()
{
//获取数据代码
//....
//当前页面的DGV显示代码. //返回dt
DataTable dt=new DataTable();
return "dt";
}实现目标,窗体1按钮单击弹出窗体2,窗体2按钮单击后,同时更新本窗体和窗体1上的DGV.
还要建立连个窗体的关系,例如:可以让 Form1 做 Form2 的 Parent.
这样 Form2 在引用 Form1 的 MyGridView 的时候,用 this.parent 就可以了。当然 Form1 的 MyGridView 是 public 型的。至于委托和 Invoke 之类,我想这个问题还没有这么复杂.
你先试试看,发现问题实在解决不了,再发帖子吧。