我对c#非常陌生,很抱歉,如果这是一个新手问题。
我有一个表格,其数据网格连接到MySQL数据库。
我已经做到了所以它选择整行,当你双击该行时,它会打开一个新表格。
我现在要做的是在第二个表单中放置一些文本框,其中填写了用户在上一个表单中选择的数据。
到目前为止,这是我的代码。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
string connectionString = "datasource=*****;database=****;username=****;password=****;";
string query = "select firstname, surname, email from users;";
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlCommand command = new MySqlCommand(query, connection);
connection.Open();
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = command;
DataTable dTable = new DataTable();
adapter.Fill(dTable);
dataGridView1.DataSource = dTable;
connection.Close();
}
private void viewData(object sender, DataGridViewCellEventArgs e)
{
Form2 secondForm = new Form2();
secondForm.Show();
}
}
答案 0 :(得分:0)
您可以将字符串数据传递给Form2的构造函数。例如:
窗体2:
public partial class Form2 : Form
{
public Form2()
{
....
}
public Form2(string data)
{
textBox1.Text=data;
}
}
Form1上的:
.......
private void viewData(object sender, DataGridViewCellEventArgs e)
{
string mydata=///...
Form2 secondForm = new Form2(mydata);
secondForm.Show();
}
答案 1 :(得分:0)
创建全局公开Class
,其中包含DataTable
喜欢
public static class Globals
{
DataTable Globaldt=new DataTable();
}
像在Form2上一样访问它
DataTable dt=Globals.Globaldt;
答案 2 :(得分:0)
您需要将数据表作为变量发送到seconde类的构造函数中:
例如..在你的情况下:
public partial class Form1 : Form
{
public Form1()
{
//code that you have already wrote
Form2 f2 = new Form2(dTable);
f2.ShowDialog();
}
}
public partial class Form2 : Form
{
public Form2(Datatable table)
{
//Do whatever you want with this table
//Example
label1.Text = table.Rows[0][0].ToString();
}
}
干杯!