首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

窗体的复用有关问题

2011-12-23 
窗体的复用问题有一个名为Form_Edit的窗体,用来输入各种数据同时,有一个名为Main_Form的窗体中,用DataGrid

窗体的复用问题
有一个名为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
[解决办法]

C# code
        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的值对应你数据库中的列就可以了

热点排行