C# 数据传递 form1有 dataGridView1和dataGridView2,双击dataGridView1的数据打开form2,并把相关信息成功传递。再把form2的数据传递回form1的dataGridView2,无法实现,请指点详细如图: 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看不到图dataGridView1 里的行是一个数据行或者一个对象的UI表示,form2 返回之后,你把这个数据行或者对象更新一下,数据绑定技术会自动更新 dataGridView1 1。在form2中声明一个form1的全局的对象:form1 f1;2。在form1双击打开事件中:form2 f2=new form2(); f2.f1=this; f2.show();3.在form1中定义一个公共的方法public void FilldataGridView2(),用来读取数据表中的信息添加到dataGridView2的4。在form2的添加按钮事件中:f1.FilldataGridView2(); 这种做法可行,但不严谨建议用构造函数传值发将第一个表的当前记录和第二个表传过去就行public class form2{DataRow Row1; DataTable Table2;public form2(DataRow row1, DataTable table2){ Row1=row1; Table2=table2;}public button1_click(...){ //将row1处理后加入table2 this.DilogResult=DilogResult.ok; //关闭窗口,返回值}} 利用构造函数传递值嘛!这种我做过!或者说将要传递的值封装在实体类中,通过get方法去值也行 定义一个两个form都能访问的类里面用DataTable 或是集合保存你要传输的数据form1触发事件的时候,把涉及到的行都放入这个类里面,然后调用form2的更新类 刷新界面 豉汁中华鲟;豉 chǐ;不读gǔ;跑题了……为什么不在dataset.Tables中加NewRow()呢? ds1.Tables["dc"].Rows.RemoveAt(dataGridView2.Rows.Count - 2); int ii = dataGridView1.CurrentCell.RowIndex;//获得选定行 float a; a = float.Parse(dataGridView1.Rows[ii].Cells[3].Value.ToString());//单价 a = float.Parse(numericUpDown1.Value.ToString()) * a; //总金额 ds1.Tables["dc"].Rows.Add(textBox1.Text, dcxh.ToString("D2"), str1, dataGridView1.Rows[ii].Cells[0].Value.ToString(), dataGridView1.Rows[ii].Cells[1].Value.ToString(), dataGridView1.Rows[ii].Cells[2].Value.ToString(), dataGridView1.Rows[ii].Cells[3].Value.ToString(), numericUpDown1.Value.ToString(), a, '0');//往表中添加数据行 dcxh++;//点菜序号这样只能增加数量为1的记录,我想通过form2修改数量,要怎么办? 在 dataGridView1 的 點擊事件裏面 啟動form2form2的 啟動事件裏面,讀取數據庫. 引用 4 楼 xiangxiao_bobo 的回复:1。在form2中声明一个form1的全局的对象:form1 f1;2。在form1双击打开事件中:form2 f2=new form2(); f2.f1=this; f2.show();3.在form1中定义一个公共的方法public void FilldataGridView2(),用来读取数据表中的信息添加到dataGridView2的4。在form2的添加按钮事件中:f1.Fi……这种做法可行,但不严谨建议用构造函数传值发将第一个表的当前记录和第二个表传过去就行public class form2{DataRow Row1; DataTable Table2;public form2(DataRow row1, DataTable table2){ Row1=row1; Table2=table2;}public button1_click(...){ //将row1处理后加入table2 this.DilogResult=DilogResult.ok; //关闭窗口,返回值}} c#定时生成excel Dev Express 中 XtraGrid.GridControl控件显示分级的问题。 C#线程基础问题 第三方控件 加载 各位大侠,小弟求救,如何在C#中实现将一个文件夹及所有的内容复制到另外的一个文件夹里。谢谢了! 什么样的情况下就一定要用到这两句语句呢? Conversion Buffer Overflow是什么意思?大虾救命啊 datatable写入access的疑问 C#有关于快捷菜单 今天是我的生日,差点忘了,激动,散分~~~~~~~ C# 程序中自动添加数据录入字段 (急) C# ASP.NET网站模板
2。在form1双击打开事件中:form2 f2=new form2(); f2.f1=this; f2.show();
3.在form1中定义一个公共的方法public void FilldataGridView2(),用来读取数据表中的信息添加到dataGridView2的
4。在form2的添加按钮事件中:f1.FilldataGridView2();
建议用构造函数传值发将第一个表的当前记录和第二个表传过去就行
public class form2
{
DataRow Row1;
DataTable Table2;
public form2(DataRow row1, DataTable table2)
{
Row1=row1;
Table2=table2;
}public button1_click(...)
{
//将row1处理后加入table2
this.DilogResult=DilogResult.ok; //关闭窗口,返回值
}
}
里面用DataTable 或是集合保存你要传输的数据form1触发事件的时候,把涉及到的行都放入这个类里面,然后调用form2的更新类 刷新界面
ds1.Tables["dc"].Rows.RemoveAt(dataGridView2.Rows.Count - 2); int ii = dataGridView1.CurrentCell.RowIndex;//获得选定行 float a;
a = float.Parse(dataGridView1.Rows[ii].Cells[3].Value.ToString());//单价
a = float.Parse(numericUpDown1.Value.ToString()) * a; //总金额
ds1.Tables["dc"].Rows.Add(textBox1.Text, dcxh.ToString("D2"), str1,
dataGridView1.Rows[ii].Cells[0].Value.ToString(),
dataGridView1.Rows[ii].Cells[1].Value.ToString(),
dataGridView1.Rows[ii].Cells[2].Value.ToString(),
dataGridView1.Rows[ii].Cells[3].Value.ToString(),
numericUpDown1.Value.ToString(), a, '0');//往表中添加数据行
dcxh++;//点菜序号这样只能增加数量为1的记录,我想通过form2修改数量,要怎么办?
form2的 啟動事件裏面,讀取數據庫.
1。在form2中声明一个form1的全局的对象:form1 f1;
2。在form1双击打开事件中:form2 f2=new form2(); f2.f1=this; f2.show();
3.在form1中定义一个公共的方法public void FilldataGridView2(),用来读取数据表中的信息添加到dataGridView2的
4。在form2的添加按钮事件中:f1.Fi……
这种做法可行,但不严谨
建议用构造函数传值发将第一个表的当前记录和第二个表传过去就行
public class form2
{
DataRow Row1;
DataTable Table2;
public form2(DataRow row1, DataTable table2)
{
Row1=row1;
Table2=table2;
}public button1_click(...)
{
//将row1处理后加入table2
this.DilogResult=DilogResult.ok; //关闭窗口,返回值
}
}