C#如何将窗口A中对应的datagridview表格选中某行,然后点击确认按钮,将该行数据录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何将窗口A中对应的datagridview表格选中某行,然后点击确认按钮,将该行数据录相关的知识,希望对你有一定的参考价值。

C#如何将窗口A中对应的datagridview表格选中某行,然后点击确认按钮,将该行数据录入窗口B中的textbox里面

首先你想A窗口操作B窗口的东西。你操作打开B窗口的form变量。

第二你想操作B窗口的textbox1 就要设置属性,B窗口的 textBox1的Modirers属性改性 public

做好这两点我们进入下面

A窗口里面整个按钮点击事件
然后
int num = dataGridView1.CurrentRow.Index; //得到当前选中行号
formB.textBox1.text = dataGridView1.Rows[num ].Cells[0].Value + " " + dataGridView1.Rows[num ].Cells[0].Value ; //有几列家几列。不然得到列数循环加也行

这不就完工了么追问

操作打开B窗口的form变量是什么意思啊?
新手有点笨

追答

举个例子啊,比如两个button 1 和2 。 1是负责打开formB的

FormB formB;
private void button1_Click(object sender, EventArgs e)

formB = new FormB();
formB.Show();

那么button2里面操作的必须是 已经打开的formB,不能是新new的。不然操作你也看不到

private void button2_Click(object sender, EventArgs e)

formB.textBox1.text = “xxxxx”;

追问

我设置form22里面的textbox7为public,在form22的确认按钮里面写了
Form13.textbox7.text = dataGridView1.Rows[num].Cells[1].Value.ToString();
这时候就说form13里面不存在textbox7,我不知道问题在哪儿
麻烦您了,一条追问放不下我的追问,提示超字数。。。

追答

form22里面的textbox7为public

然后Form13.textbox7.text。

你form13里面改变textbox7,form22的textbox7肯本没变。
form22.textbox7.text = dataGridView1.Rows[num].Cells[1].Value.ToString();试试看

追问

我错了,刚写错了,是form 13里面的textbox7设置为public,form22是这样子的,


点击确认以后,将选中行的数据放到form13的textbox7里面

追答

首先你得dataGridView1要有东西,不然你没数据导出

你是什么时候打开的Form13? 找到 Form13 xxx = new Form13(); xxx.show();的代码

看看这个XXX变量是不是全局的,不是改成全局的就行了。

就能找到了 xxx.textbox7了。

你想操作Form13的控件 要先创建个Form13的变量

参考技术A 假设获取到的datagridview 选中行的数据为model,在B中写构造函数:

public void B(Model model){……}
然后在A中按钮的点击事件里写:

B b = new B(model);

b.show();
参考技术B datagridview里面有个forcenode属性吧~~你找找看反正是force什么的里面能读出选中行的值

c#中,excel表格内容展现在datagridview1中,如何实现?

有两种方法:1、实现导入功能,通过导入excel表格把内容显示在datagridview中;2、在数据库中建立一张新表,表的字段与excel表格的列一致。第二种方法更为简单。 参考技术A 首先要保证将要导入数据库的excel表格中的数据和数据库字段相符,excel中不能存在数据表中不存在的字段。获取excel文档完整路径,并将其中的数据生成dataset对象:
private DataSet xsldata(string filepath)



string strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties='Excel 8.0;IMEX=1'";

System.Data.OleDb.OleDbConnection Conn = new System.Data.OleDb.OleDbConnection(strCon);

string strCom = "SELECT * FROM [Sheet1$]";

Conn.Open();

System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strCom, Conn);

DataSet ds = new DataSet();

myCommand.Fill(ds, "[Sheet1$]");
dataGridView1.DataSource = ds.Tables[0];
Conn.Close();

return ds;

追问

从第二行开始读取,如何实现?(第二行是标题)

参考技术B 这个就是导入功能吧。。。。无语。。。怎么这么多人问这个问题。。

以上是关于C#如何将窗口A中对应的datagridview表格选中某行,然后点击确认按钮,将该行数据录的主要内容,如果未能解决你的问题,请参考以下文章

如何实现c# winform DataGridView添加一行,添加数据后,保存到数据库?

如何在数据库C#中查找表的主键

如何使用 C# 在 datagridview 控件中显示某些表架构列?

vs2017 c#窗口应用程序 datagridview查询到mysql数据,如何改变列字段的顺序

DataGridView

如何清空C#中dataGridView的某一行数据??