如图所示,新人新手,望大家多指点在下!
------解决思路----------------------
Form detailForm = new DetailForm(this.dataGridView1);//将当前DataGridView直接传递为明细窗体
然后明细窗体里面就可以通过
var row = this.dataGridView1.CurrentRow;
var v = row.Cells[""].Value;//取相关值,并将值赋给相应输入框
另外可能可以通过BindingSource直接两个窗体联动,但没试验过
------解决思路----------------------
你可以在new新窗体前,将datagridview中的所有行列值传到新窗体中, 同时传一个行号(就是你点得那行),然后load新窗体时,去给textbox赋值。
------解决思路----------------------
定义一个类比如:
public class BasicDocument
{
//部门编码
public static string DepartMentCode;
.........
//部门名称
public static string DepartMentName;
}
//部门档案界面
这个写在grid单击事件中
int index = dg_Product.CurrentRow.Index; //取得选中行的索引
BasicDocument.DepartMentCode= dg_Product.Rows[index].Cells["name"].Value;
//编辑界面
//这个写在load事件中
txt_depart.text=BasicDocument.DepartMentCode;
------解决思路----------------------
这是窗体间 传值问题,参考http://bbs.csdn.net/topics/390128592
------解决思路----------------------
方法有很多了,1楼说的是其中一种方法;其实dataGridView和新窗体就是两个对象嘛,两个对象之间传值,是可以有很多实现的。1楼的够用了。
------解决思路----------------------
BindingSource我已经测试过可行
------解决思路----------------------
public class TestClass
{
public int ID { get; set; }
public string Name { get; set; }
public string Desc { get; set; }
}
Form2的代码
BindingSource bs;
private void Form2_Load(object sender, EventArgs e)
{
List<TestClass> list = new List<TestClass>()
{
new TestClass{ ID=1,Name="Name1"},
new TestClass{ ID=2,Name="Name2",Desc="Desc2"},
};
bs = new BindingSource();
bs.DataSource = list;
this.dataGridView1.DataSource = bs;
}
private void btnDetail_Click(object sender, EventArgs e)
{
Form3 frm = new Form3(bs);
frm.Show();
}
Form3的代码
BindingSource bs;
public Form3(BindingSource bs)
{
this.bs = bs;
InitializeComponent();
}
private void btnNext_Click(object sender, EventArgs e)
{
bs.MoveNext();
}
private void Form3_Load(object sender, EventArgs e)
{
this.txtName.DataBindings.Add("Text", bs, "Name");
this.txtDesc.DataBindings.Add("Text", bs, "Desc");
}
private void btnPrev_Click(object sender, EventArgs e)
{
bs.MovePrevious();
}
------解决思路----------------------
……我不是在上面已经回了BindingSource的了吗,有截图有代码啊
------解决思路----------------------
构造函数部分我也是有的,你那个是因为没改默认的构造函数