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. 如果要将Form2的显示添加到Form1,请在末尾添加以下行: frm.Show(); 有几种方法可以显示Form2,具体取决于您想要的选项(仅显示Form2,同时显示两者等). 关于你看到的消息,这是因为行:MessageBox.Show(“Yuhuuuuuuu”);此事件将触发所有应用程序,并且不依赖于现在显示的表单. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |