父窗体,选择行,得到当前行,传递给子窗体,一般通过 子窗体构造函数,加参数传递,参数少,可直接传 某个要修改的值,如果 修改的多,一般都是取出当前行 ,进行传递。
子窗体得到 父窗体 的行,为了要 传回去,那么需要定义公有变量,Row
然后把 传递过来的行显示到 界面的控件上,用户就可以修改了
修改完,保存回当前行里,为了判断用户是否点击了保存按钮,增加了一个 变量iResule 默认0,没有保存过,当点了保存后,设置为1 。
窗体关闭后
父窗体,判断子窗体的iResule ==1,那么把子窗体的行 更新到选中行里
1
2
3
4
5
6
7
8
9
10
11
12
|
//得到你选定的某行
DataRow row = dt.Rows[0];
Form2 frm =
new
Form2(row);
frm.ShowDialog();
if
(frm.iResult == 1)
{
//把修改后的行保存回当前选中行
dt.Rows[0][1] = frm.Row[1];
dt.Rows[0][2] = frm.Row[2];
dt.Rows[0][3] = frm.Row[3];
}
|
子窗体得到 父窗体 的行,为了要 传回去,那么需要定义公有变量,Row
然后把 传递过来的行显示到 界面的控件上,用户就可以修改了
修改完,保存回当前行里,为了判断用户是否点击了保存按钮,增加了一个 变量iResule 默认0,没有保存过,当点了保存后,设置为1 。
窗体关闭后
父窗体,判断子窗体的iResule ==1,那么把子窗体的行 更新到选中行里
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
public
partial
class
Form2 : Form
{
public
DataRow Row ;
public
int
iResult = 0;
//构造函数
public
Form2(DataRow row)
{
InitializeComponent();
Row = row;
initData();
}
//初始化数据
private
void
initData()
{
this
.textBox1.Text = Row[1].ToString();
this
.textBox2.Text = Row[2].ToString();
}
private
void
button1_Click(
object
sender, EventArgs e)
{
//保存按钮
Row.BeginEdit();
Row[1] =
this
.textBox1.Text;
Row[2] =
this
.textBox2.Text;
Row.EndEdit();
iResult = 1;
}
}
|