SQLite C#和DataGridView

SQLite C#和DataGridView,第1张

概述如果我尝试用数据填充datagridview,如果我从另一个表单调用函数,我有问题.如果我在私有中调用函数,那么一切都很完美按钮1_在form2中单击datagridview,但如果我从另一个表单调用函数(Form1),则datagridview为空. Form2中的代码,其中是datagridview public void fill_grid() { MessageBox.Sh 如果我尝试用数据填充datagrIDvIEw,如果我从另一个表单调用函数,我有问题.如果我在私有中调用函数,那么一切都很完美按钮1_在form2中单击datagrIDvIEw,但如果我从另一个表单调用函数(Form1),则datagrIDvIEw为空.

Form2中的代码,其中是datagrIDvIEw

public voID fill_grID() {        MessageBox.Show("Yuhuuuuuuu");        form_Listusers form = new form_Listusers();        sqliteConnection cn = new sqliteConnection(Form1.dbquery);         cn.open();        string sql;        sql = "SELECT users_ID,name,username,place FROM users";        sqliteCommand cmd = new sqliteCommand(sql,cn);        sqliteDataAdapter da = new sqliteDataAdapter(cmd);        DataSet ds = new DataSet();        try        {            da.Fill(ds);            Datatable dt = ds.tables[0];            this.grID_userList.DataSource = dt;        }        catch (Exception ex)        {            MessageBox.Show("Errrrrrrror");        }        cn.Close();    }

Form1中的代码:

Form2 frm = new Form2();       frm.fill_grID();

我收到消息“Yuhuuuuuuuu”但datagrIDvIEw是空的.

#

解决了

#

在主窗体(Form1)中我设置实例

Form frm_Listusers = new form_Listusers();

但在此之后:

form_Listusers frm_Listusers = new form_Listusers();

我可以访问我的函数frm.fill_grID();

解决方法 当您运行以下代码时:

Form2 frm = new Form2();frm.fill_grID();

您只需创建Form2的实例,但显示的窗体是Form1.
然后会发生什么,你看到Form1的DataGrIDVIEw没有填充它,因为你在Form2中做了这个.

如果要将Form2的显示添加到Form1,请在末尾添加以下行:

frm.Show();

有几种方法可以显示Form2,具体取决于您想要的选项(仅显示Form2,同时显示两者等).

关于你看到的消息,这是因为行:MessageBox.Show(“Yuhuuuuuuu”);此事件将触发所有应用程序,并且不依赖于现在显示的表单.

总结

以上是内存溢出为你收集整理的SQLite C#和DataGridView全部内容,希望文章能够帮你解决SQLite C#和DataGridView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1150250.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存