我无法在dgv中显示我的数据库表(前5行)

时间:2014-06-07 22:41:49

标签: c# sql-server database

我的dgv(C#)有问题,实际上我无法显示表格" fichier"在前5个lignes(这是表长度)。我从dgv的另一侧得到结果(当我放置光标时,就像有一个dgv的两倍=>前五行是空的但是另一方面,当我移动光标时显示数据)。我不知道问题出在哪里。 这是我的代码(表格应该在表单加载时出现):

using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

SqlConnection con;
SqlDataAdapter dr;
DataSet ds = new DataSet();
string pat, req;

        public Form2()
{
            try{
    pat = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\Administrateur\\Bureau\\Copie de WindowsFormsApplication1\\WindowsFormsApplication1\\AppData\\Main.mdf;Integrated Security=True;User Instance=True";
    req = "SELECT * FROM fichier";
    con = new SqlConnection(pat); 
    con.Open(); 
    dr = new SqlDataAdapter(req, con); 
    dr.Fill(ds, "fichier");
            }
            catch (Exception e) { MessageBox.Show("database not find", e.Message); } 

            InitializeComponent();
            panel2.Hide();
            affich();

        }

        private void affich()
        {

          // MessageBox.Show(""+sTable.Rows.Count); //the result is 5
          // MessageBox.Show(""+sTable.Rows[0][0].ToString()); //the result is 11
            dataGridView1.DataSource = ds.Tables["fichier"];
        }

这是表单加载(之前)和光标移位后dgv中的结果:

enter image description here

感谢您的帮助:))

1 个答案:

答案 0 :(得分:1)

在Form2()构造函数中调用“affich()”之后,尝试添加其中一行......

要么

dataGridView1.AutoResizeColumns( DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);

dataGridView1.Update();