首页 > 解决方案 > Datagridview 显示不带行的数据表列标题

问题描述

我的 Windows 窗体上有一个名为 dtgv 的 datagridview,我想从 DataTable 中填充它。我在下面创建了“remplirdtgv()”方法,当我在 form_load 事件中调用它时效果很好。我的问题是,当我通过单击按钮更新 DataTable(添加或删除行)后调用此方法时,DataGridview 仅显示 DataTable 列标题而不显示行。有人可以帮助我吗?

private void remplirdtgv()
        {
            dtgv.Columns.Clear();
            DataTable dt = new DataTable();
            SQLiteConnection conn = new SQLiteConnection();
            conn.ConnectionString = "Data Source = .\\mydb.db; version=3;";
            conn.Open();
            try
            {
                SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM mytab ORDER BY tabId", conn);
                SQLiteDataReader r = cmd.ExecuteReader();

                if (r.HasRows)
                {
                    dt.Reset();
                    dt.Load(r);
                }

            }
            catch (Exception e)
            {
                MessageBox.Show("Les données n'ont pas été correctement chargées. \r\n" + e, "Erreur de lecture des données", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            dtgv.DataSource = dt;
            //l1.Text = dt.Rows.Count.ToString();
            //l2.Text = dtgv.RowCount.ToString();
            r.Close();
        }

标签: c#

解决方案


推荐阅读