2010-12-03 136 views
0

我想用数据库中的数据填充DataGridView。该方案是一个运行罚款测试。有一张叫做动物的桌子。 “使用(SqlCeDataAdapter a = new SqlCeDataAdapter(”SELECT * FROM Animals“,c))”如果我将Animals更改为其他内容,所以它肯定会读取表。但DataGridView中没有显示任何内容。没有列名和没有数据,只是一个空的灰色。我错过了什么?填充DataGridView的问题

public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      FillData(); 
     } 

     void FillData() 
     { 
      using (SqlCeConnection c = new SqlCeConnection(Properties.Settings.Default.DataConnectionString)) 
      { 
       c.Open(); 
       using (SqlCeDataAdapter a = new SqlCeDataAdapter("SELECT * FROM Animals", c)) 
       { 
        DataTable t = new DataTable(); 
        a.Fill(t); 
        dataGridView1.DataSource = t; 
       } 
      } 
     } 

     private void Form1_Load(object sender, EventArgs e) 
     { 

     } 
    } 
+0

你能确保你得到的任何数据填入`DataTable`? – decyclone 2010-12-03 09:54:06

回答

2
dataGridView1.DataBind(); 

添加它给源网格后,它应该工作。

+0

它说'System.Windows.Forms.DataGridView'不包含'DataBind'的定义:-( – 2010-12-03 09:52:29

0

dataGridView1.DataBind()

,并确保GridView的自动生成列属性设置为true。