datagridview操作,在winform窗口中有一个修改按钮,点击后弹出一个修改页面,怎么把datagridview的值传过

如题所述

第1个回答  2011-09-01
public s_Form()
{
InitializeComponent();
}
public s_Form(Student model)
{
InitializeComponent();
txt_SNO.Text = model.SNO;
txt_SNAME.Text = model.SNAME;
txt_SSEX.Text = model.SSEX;
txt_SBIRTHDAY.Text = model.SBIRTHDAY;
txt_CLASS.Text = model.CLASS;
}
重载构造函数
在主窗口
Student model = new Student();
model.SNO = dv_Info.SelectedRows[0].Cells[0].Value.ToString();
model.SNAME = dv_Info.SelectedRows[0].Cells[1].Value.ToString();
model.SSEX = dv_Info.SelectedRows[0].Cells[2].Value.ToString();
model.SBIRTHDAY = dv_Info.SelectedRows[0].Cells[3].Value.ToString();
model.CLASS = dv_Info.SelectedRows[0].Cells[4].Value.ToString();
s_Form sf = new s_Form(model); //调用带参的构造函数
参数就穿过去了追问

这两段代码,哪一个是在有datagridview的窗口里写?哪一个是在修改窗口里写?

追答

第一个是在修改窗口 主窗口下面的代码是在datagridview的窗口里,这里的Student是个学生实体类 , 你自己定义下。

追问

那么在主窗口里的这段代码是写在什么下面?
是在这个下面 public PersonalAll()
{
InitializeComponent();
}

还是在修改按钮下面,或者是新建一个方法?

追答

主窗口的构造函数不用管。
点击按钮,按钮的单击事件里写 弹出修改窗口 实例化修改窗口 s_Form sf = new s_Form(model) 带参数 。。 这就调用了 修改窗口带参的构造函数,参数就传到另一个窗口的文本框里了

本回答被提问者采纳
第2个回答  2011-09-01
重载下弹出窗口的构造函数(参数为DataGridViewRow),点击按钮时调用这个构造函数把整个行传过去就行了.追问

能说的详细一点么 最好举个例子 谢谢~~

追答

已经很详细了,都说了你就没什么能学到了.

追问

我正在自己做一个项目,项目通过才可以工作转正。这些知识是我以前学的,现在想不太起来了,所以希望你能说的明白一点。

追答

你的信息描述的都不清楚,怎么举例子?想说明白一说不明白呀.

第3个回答  2011-09-01
先要选中任意一行,然后获取他的ID编号,根据编号 在你选择按就钮时把id传给新的窗体就可以把数据读出来了。。。追问

那怎么把数据对应的填到相应的文本框里或组件里?

第4个回答  2011-09-01
创建一个窗体的构造函数 把datagridview的值转换成datatable传给另外一个页面~追问

能说的详细一点么。谢谢了~~~

追答

private void Form1_Load(object sender, EventArgs e)
{
Form2 frm = new Form2((DataTable)dataGridView1.DataSource);
frm.Show();

}
//在Form2里
DataTable _NewDT = null;
public Form2(DataTable dt)
{
InitializeComponent();
_NewDT = dt;

}

这样够详细了吧!

第5个回答  2011-09-01
用session传,或者用url传
相似回答