C# 我能';t在dgv中显示我的数据库表(在前5行)
我的dgv(C#)有一个问题,事实上我不能在前5个对齐中显示表格“fichier”(即表格长度)。我从dgv的另一侧获得结果(当我放置光标时,如a have a double of the dgv=>前五行是空的,但当我移动光标时,另一侧显示数据)1.我不知道问题出在哪里。 这是我的代码(加载表单时应显示该表): 这是在表格加载(光标移动之前)和移除之后dgv中的结果:C# 我能';t在dgv中显示我的数据库表(在前5行),c#,sql-server,database,C#,Sql Server,Database,我的dgv(C#)有一个问题,事实上我不能在前5个对齐中显示表格“fichier”(即表格长度)。我从dgv的另一侧获得结果(当我放置光标时,如a have a double of the dgv=>前五行是空的,但当我移动光标时,另一侧显示数据)1.我不知道问题出在哪里。 这是我的代码(加载表单时应显示该表): 这是在表格加载(光标移动之前)和移除之后dgv中的结果: 感谢您的帮助:)在您的Form2()构造函数中调用“affich()”之后,尝试添加其中一行 或者 dataGridView
感谢您的帮助:)在您的Form2()构造函数中调用“affich()”之后,尝试添加其中一行 或者
dataGridView1.AutoResizeColumns(
DataGridViewAutoSizeColumnsMode.AllCellsCeptheader)代码>
或
dataGridView1.Update()代码>谢谢Ruslan,但我一直都得到相同的结果:(@Lina,即使在添加了这些行之后?只是为了确认-当您单击数据网格时,数据会出现,对吗?您是否尝试调用dataGridView1.Refresh()?是的,谢谢Ruslan我的问题通过使用MainDataSet选项得到了解决:D非常感谢您的帮助
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"];
}