有很多关于此的帖子,但没有人帮助过我。也许我只是一个逻辑问题或类似的东西。我是C#新手。
以下问题。我在Form1中有一个dataGridView。当我点击button1 Form6出现时,我给出一个表名,fillDataGrid-mehtod在Form1中运行。但。显示没有数据dataGradview只保留为空,其中没有任何内容。
现在好玩的事情,如果我在button1方法中放置来自fillDataGrid方法的代码,每件事情都可以。
数据库(SQLite)连接正常工作(代码示例中未显示)。
FORM1:
private void button1_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
String Eingabe = textBox5.Text;
f1.fillDataGrid(Eingabe);
Hide();
}
FORM6:
{{1}}
答案 0 :(得分:0)
你永远不会出现这种形式:
Form1 f1 = new Form1();
所以没有什么可以展示的。如果要在已存在的表单上显示网格,则需要使用 一个,而不是 new 。
由于Form6
依赖于Form1
的实例,因此需要在构造函数中使用该依赖项:
private Form1 Form1Instance { get; set; }
public Form6(Form1 form1Instance)
{
Form1Instance = form1Instance;
}
然后,当您创建Form6
的实例时,请提供该依赖项:
Form6 f6 = new Form6(this);
f6.Show();
然后在Form6
中,您可以使用该实例来显示网格:
String Eingabe = textBox5.Text;
Form1Instance.fillDataGrid(Eingabe);
Hide();