2014-03-13 174 views
-4

我在我的sqlce中有一張桌子,我想在DataGridView中顯示3列。 這三列是數字,時間,價格,我已經將所有數據從sqlce表加載到DataTable。現在如何在DataGridView中顯示它?如何將數據添加到DataGridView?

+0

顯示張貼您已經嘗試了代碼,它不工作的地方你的研究工作。 – Junaith

回答

0

此代碼將幫助您理解,如何將數據表填充到sql數據庫。

在DataGridView中添加列:

 dt.Columns.Add("Number",typeof(int)); 
     dt.Columns.Add("Time",typeof(String)); 
     dt.Columns.Add("Price",typeof(String)); 

但如果直接填寫數據表形式的數據庫,這樣你就不需要在數據表中添加列。

 DataTable dt = new DataTable(); 

     SqlConnection InsertCon = new SqlConnection(); 
     InsertCon.ConnectionString = Connection_String; 

     InsertCon.Open(); 

     try 
     {  
      SqlCommand com = new SqlCommand("Sql Query"); 
      com.Connection = InsertCon; 

      com.ExecuteNonQuery(); 


      SqlDataAdapter sda = new SqlDataAdapter(com); 
      sda.Fill(dt); 

      dataGridView1.DataSource = dt; 

     } 
     catch (Exception e1) 
     { 
      MessageBox.Show(e1.ToString()); 
     } 
     finally 
     { 
      InsertCon.Close(); 
     } 
+1

除非使用列的DataPropertyName屬性將列與'DataTable'綁定,否則這將不起作用。 – Junaith

+0

@Junaith:對不起,我只是舉例給用戶,但在這種情況下,我們不需要在數據表中添加列。根據que。 ,用戶只是想從數據庫中填充數據表並顯示它。如果我錯了,讓我知道。 –

+0

DataTable使用適配器填充或手動無關緊要。 OP希望將數據從DataTable綁定到DataGridView。爲此,重要的一點是如何告訴'DataGridView'在'DataTable'中綁定哪一列。這是通過'DataGridViewColumn'的'DataPropertyName'屬性。沒有這個數據將不會顯示。 – Junaith

0

如果您DataTable只有這3列然後設置DataGridView.AutoGenerateColumns = true並設置DataGridView.DataSource=YourDataTable。當您設置DataSource時,DataGridView將自動生成列。

如果DataTable比你提到的其他三個附加列,那麼你必須在DataGridView創建三列,並使用該列的DataPropertyName屬性將它們綁定到DataTable。請參閱下面的示例代碼,瞭解這種情況。

示例代碼:

DataGridView.AutoGenerateColumns = false; 

DataGridViewTextColumn col1 = new DataGridViewTextColumn(); 
col1.HeaderText = "Number"; 
col1.Name="NumberColumn"; 
col1.DataPropertyName = // the column name in the datatable 
DataGridView.Columns.Add(col1); 

DataGridView.DataSource = YourDataTable 
相關問題