C#中如何实现“根据RADIOBUTTON选择的不同,而获取DATAGRIDVIEW中不同列的值,并传回FORM1的TEXTBOX1?”
俺刚刚开始自学C#,向高手们求教代码:我有一个窗体2,其中的DATAGRIDVIEW1绑定了SQL数据库,并显示4列值,字段名分别为AA,BB,CC,DD,同时FORM2...
俺刚刚开始自学C#,向高手们求教代码:
我有一个窗体2,其中的DATAGRIDVIEW1绑定了SQL数据库,并显示4列值,字段名分别为AA,BB,CC,DD,同时FORM2中有四个RADIOBUTTON,1,2,3,4和一个BUTTON
我想实现一个功能,当RADIOBUTTON3被选择时,双击DATAGRIDVIEW1中某一行的任意位置,都将返回CC的值,并传给FORM1的TEXTBOX1。与此同时,FORM2关闭。同理,RADIOBUTTON1与AA对应,RADIOBUTTON2与BB对应。
求高手教教啊 展开
我有一个窗体2,其中的DATAGRIDVIEW1绑定了SQL数据库,并显示4列值,字段名分别为AA,BB,CC,DD,同时FORM2中有四个RADIOBUTTON,1,2,3,4和一个BUTTON
我想实现一个功能,当RADIOBUTTON3被选择时,双击DATAGRIDVIEW1中某一行的任意位置,都将返回CC的值,并传给FORM1的TEXTBOX1。与此同时,FORM2关闭。同理,RADIOBUTTON1与AA对应,RADIOBUTTON2与BB对应。
求高手教教啊 展开
展开全部
1、Form2中写如下信息。
private void gridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//取当前行的索引
int index = e.RowIndex;
//Dto为GridView的Datasource的实体类,包括AA,BB,CC,DD四个属性。
List<Dto> dtoList = gridView1.DataSource as List<Dto>;
//通过索引取当前行的值
Dto dto= dtoList[index];
//如果AA选中把当前行列AA的值作为参数
if (rdoBtnAA.Checked)
//向弹出Form1并关闭Form2
ShowForm1(dto.AA);
//如果BB选中把当前行列BB的值作为参数
else if (rdoBtnBB.Checked)
ShowForm1(dto.BB);
//如果CC选中把当前行列CC的值作为参数
else if (rdoBtnCC.Checked)
ShowForm1(dto.CC);
//如果DD选中把当前行列DD的值作为参数
else if (rdoBtnDD.Checked)
ShowForm1(dto.DD);
}
//向弹出Form1并关闭Form2
private void ShowForm1(string str)
{
Form1 form1 = new Form1(str);
form1.Show();
this.Hide();
}
2、在Form1中写一个参数的构造和Load事件。
//用来存从Form2传过来的值
private string _str = null;
public Form1()
{
InitializeComponent();
}
public Form1(string str)
{
InitializeComponent();
//把参数str赋值到字段_str;
_str = str;
}
private void Form1_Load(object sender, EventArgs e)
{
//如果_str不为空的话,赋其值到TextBox1的Text上
if (!string.IsNullOrEmpty(_str))
txt1.Text = _str;
}
这样绝对OK的,我试过了!
希望可以帮助到你~~~
private void gridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//取当前行的索引
int index = e.RowIndex;
//Dto为GridView的Datasource的实体类,包括AA,BB,CC,DD四个属性。
List<Dto> dtoList = gridView1.DataSource as List<Dto>;
//通过索引取当前行的值
Dto dto= dtoList[index];
//如果AA选中把当前行列AA的值作为参数
if (rdoBtnAA.Checked)
//向弹出Form1并关闭Form2
ShowForm1(dto.AA);
//如果BB选中把当前行列BB的值作为参数
else if (rdoBtnBB.Checked)
ShowForm1(dto.BB);
//如果CC选中把当前行列CC的值作为参数
else if (rdoBtnCC.Checked)
ShowForm1(dto.CC);
//如果DD选中把当前行列DD的值作为参数
else if (rdoBtnDD.Checked)
ShowForm1(dto.DD);
}
//向弹出Form1并关闭Form2
private void ShowForm1(string str)
{
Form1 form1 = new Form1(str);
form1.Show();
this.Hide();
}
2、在Form1中写一个参数的构造和Load事件。
//用来存从Form2传过来的值
private string _str = null;
public Form1()
{
InitializeComponent();
}
public Form1(string str)
{
InitializeComponent();
//把参数str赋值到字段_str;
_str = str;
}
private void Form1_Load(object sender, EventArgs e)
{
//如果_str不为空的话,赋其值到TextBox1的Text上
if (!string.IsNullOrEmpty(_str))
txt1.Text = _str;
}
这样绝对OK的,我试过了!
希望可以帮助到你~~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询