我的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中的结果:
感谢您的帮助:))
答案 0 :(得分:1)
在Form2()构造函数中调用“affich()”之后,尝试添加其中一行......
要么
dataGridView1.AutoResizeColumns(
DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
或
dataGridView1.Update();