日期:2014-05-18  浏览次数:20763 次

问题解决就接帖
现在有winform窗体   sta和stb
      在sta用了一个datagridview控件和一个按钮想通过点击按钮打开stb窗体在stb中修改datagridview中的一行数据
    我想从sta中得到datagridview被选中的那条记录的id传给stb
然后在stb的textbox显示有修改的数据进行修该不知道怎么做
谁有例子给个研究,   谢谢先
    我做的传不了参数:
string   starid   =   this.starmembershow.CurrentRow.Cells[0].ToString();
                        member_updata   ddrs   =   new   member_updata(starid);
                        ddrs.Show();



------解决方案--------------------
沙发抢了再看题目~~~
------解决方案--------------------
传值 然后根据这个值查询数据库 绑定修改就OK了
------解决方案--------------------
winform 好久不做
------解决方案--------------------
up
------解决方案--------------------
多窗体传值
用委托比较方便

http://www.cnblogs.com/Fooo/archive/2007/07/07/809699.html
------解决方案--------------------
this.dataGridView1.SelectedCells[0].Value.ToString().Trim()

你是不是用错了
------解决方案--------------------
把datagridview 的 SelectionMode设置成 FullRowSelect
------解决方案--------------------
用全局变量,sta,stb分别有一个全局变量id,打开窗体时stb.id=sta.id;
------解决方案--------------------
这样获取到的是这一行的第一个单元格的值
然后根据这个值(必须是唯一的) 查询数据库 再绑定控件 修改就OK了

也可以根据 SelectedCells[0] 里面的数字变化传值
------解决方案--------------------
重载子窗口的构造函数 把 父窗体的this给传过去
然后把父窗体的datagridview控件设置成public 这样 整个datagridview 在子窗体中都可以 访问了

此思路绝对可行 我使用过
------解决方案--------------------
如果你想很爽的话
在构造STB的时候就把STA传进来
这样随便你改了/
------解决方案--------------------
如果是固定字段。可以用
public GudingZiduan
{
get
set
}
------解决方案--------------------
传递stb在Load的时候读取Sta的DataSet的当前行datarow.或者stb.Load的时候绑定sta.dataset.datarow[当前行].这样直接就写入dataset了....方便
------解决方案--------------------
但是有一个问题,上面的方式..如果stb有取消按钮功能的话,不行...可以变更一下