窗体的复用问题
有一个名为Form_Edit的窗体,用来输入各种数据
同时,有一个名为Main_Form的窗体中,用DataGridView显示输出数据,选中某一行,对数据进行编辑,我不希望直接在DataGridView中修改,希望在Form_Edit窗体打开该条记录,同时该条记录相关信息应该导入Form_Edit中,在Form_Edit窗体中编辑修改数据。
请问这种如何实现?
或者说相同的情况大家是怎么处理的?
[解决办法]
所有你想要的都在这里:
http://www.codeproject.com/KB/vb/DataGridViewEditForm.aspx
[解决办法]
这不是窗体的复用
这叫做窗体的传值
看看这个博客吧
http://www.cnblogs.com/virusswb/archive/2008/03/31/1131276.html
[解决办法]
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0 && e.RowIndex != -1 && !dataGridView1.Rows[e.RowIndex].IsNewRow) { int orderID = (int)dataGridView1.Rows[e.RowIndex].Cells["OrderID"].Value; //同上可以得到每个单元格的值 //将单元格的值通过Form_Edit窗体的构造函数传递进行处理,也可以传递过去一个DataGridRow } }
[解决办法]
这个很简单啊,你找到选中那条记录,然后把你需要传的值,传到你那个Edit界面不就行了吗,然后你在Edit界面修改完,保存这些数据就行(这里保存应该找到你datagridview中选中的那行的ID主键,然后再到数据库中更新),然后再重新绑定一次dataGridView就OK了。
[解决办法]
如2楼那位仁兄所说,这不是窗体的复用,而是窗体的传值,C/S必备。
[解决办法]
选中一行把这一行的某个列值传进给一个静态变量,然后打开Form_Edit的时候就知道要加载哪一列了。textbox的值对应你数据库中的列就可以了