C# 数据传递

yuee319 2010-11-06 10:45:33
form1有 dataGridView1和dataGridView2,双击dataGridView1的数据打开form2,并把相关信息成功传递。再把form2的数据传递回form1的dataGridView2,无法实现,请指点。。。
详细如图:
...全文
344 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuee319 2010-12-12
  • 打赏
  • 举报
回复
等到发霉了,没人给我缓手的。
really_comeMoney 2010-12-12
  • 打赏
  • 举报
回复
感觉不错,希望以后还能学习
yuee319 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 cyxcw1 的回复:]
LZ是西电的? 这次的数据库作业?...
[/Quote]
不是哦,你认错人了
yuee319 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 donglin0316 的回复:]
构造函数额
双击时把编号拿来传给点菜那里就好了
[/Quote]
能不能给个代码参考参考啊
NetX行者 2010-12-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 donglin0316 的回复:]
构造函数额
双击时把编号拿来传给点菜那里就好了
[/Quote]
支持这种做法
donglin0316 2010-12-12
  • 打赏
  • 举报
回复
构造函数额
双击时把编号拿来传给点菜那里就好了
cyxcw1 2010-12-12
  • 打赏
  • 举报
回复
LZ是西电的? 这次的数据库作业?...
lyming4114 2010-12-12
  • 打赏
  • 举报
回复
引用 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; //关闭窗口,返回值
}
}
redlei 2010-12-12
  • 打赏
  • 举报
回复
在 dataGridView1 的 點擊事件裏面 啟動form2
form2的 啟動事件裏面,讀取數據庫.
yuee319 2010-12-12
  • 打赏
  • 举报
回复

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修改数量,要怎么办?
「已注销」 2010-12-12
  • 打赏
  • 举报
回复
看到这篇帖子,我暗喜了一下,这不是我想要的嘛,可是,里边第一我看的不是很明白,而且我要的是两个窗体之间的数据的传承,谢谢了
liubococoa 2010-12-12
  • 打赏
  • 举报
回复
豉汁中华鲟;豉 chǐ;不读gǔ;跑题了……

为什么不在dataset.Tables中加NewRow()呢?
fireswallow 2010-12-12
  • 打赏
  • 举报
回复
定义一个两个form都能访问的类
里面用DataTable 或是集合保存你要传输的数据

form1触发事件的时候,把涉及到的行都放入这个类里面,然后调用form2的更新类 刷新界面
程序园苑 2010-12-12
  • 打赏
  • 举报
回复
路过,旁观
yuee319 2010-11-08
  • 打赏
  • 举报
回复
高手,高手,高手。。。去哪里了,出来救救命啊
phuai007 2010-11-07
  • 打赏
  • 举报
回复
学习一下,以后可能用到
sam-007 2010-11-07
  • 打赏
  • 举报
回复
利用构造函数传递值嘛!这种我做过!或者说将要传递的值封装在实体类中,通过get方法去值也行
pcqpzq 2010-11-07
  • 打赏
  • 举报
回复
[Quote=引用 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……
[/Quote]
这种做法可行,但不严谨
建议用构造函数传值发将第一个表的当前记录和第二个表传过去就行
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; //关闭窗口,返回值
}
}
yuee319 2010-11-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 pcqpzq 的回复:]
建议用构造函数传值发将第一个表的当前记录和第二个表传过去就行
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; //关闭窗口,返回值
}
}[/Quote]
看不懂这代码,能否详细讲解一下的
魔力哥 2010-11-07
  • 打赏
  • 举报
回复
楼主也太强了。点菜信息哪个图表不是穿越火线哪个吗???
加载更多回复(4)

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧