加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

SQLite C#和DataGridView

发布时间:2020-12-12 18:53:18 所属栏目:百科 来源:网络整理
导读:如果我尝试用数据填充datagridview,如果我从另一个表单调用函数,我有问题.如果我在私有中调用函数,那么一切都很完美按钮1_在form2中单击datagridview,但如果我从另一个表单调用函数(Form1),则datagridview为空. Form2中的代码,其中是datagridview public voi
如果我尝试用数据填充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”);此事件将触发所有应用程序,并且不依赖于现在显示的表单.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读