2017-02-20 77 views
0

如何在此處刷新我的datagridview我的代碼可以在datagridview中查看我的數據,但是每次輸入新數據時都必須重新打開我的程序以查看新數據在輸入新數據後,如何在datagridview中刷新我的數據

using (IDbConnection dbconnection = new SQLiteConnection(conn)) 
     { 
      dbconnection.Open(); 

      SQLiteDataAdapter dataadapter = new SQLiteDataAdapter("SELECT * FROM tbl_Sample",conn); 
      DataSet ds = new System.Data.DataSet(); 

      dataadapter.Fill(ds,"Info"); 
      dataGridView1.DataSource = ds.Tables[0]; 

     } 
+0

更改數據源應該更新的DataGridView - 如何和你在哪裏運行功能? – Chawin

+0

在 –

+0

表格的加載函數中,確定 - 你想如何刷新數據?用戶是否點擊一個按鈕?或在特定的時間間隔刷新? – Chawin

回答

0

如果您使用的是DataSetDataTable作爲DataGridView一個數據源,你可以嘗試這樣的事:

private void LoadDataToDgv() 
{ 
    using (IDbConnection dbconnection = new SQLiteConnection(conn)) 
    { 
     dbconnection.Open(); 

     SQLiteDataAdapter dataadapter = new SQLiteDataAdapter("SELECT * FROM tbl_Sample",conn); 
     DataSet ds = new System.Data.DataSet(); 

     dataadapter.Fill(ds,"Info"); 
     dataGridView1.DataSource = ds.Tables[0]; 

    } 
} 

,然後你必須添加新的數據到你的表後,取新的數據集和rel OAD新行格:

//Code to add new data to Sql Table 
    LoadDataToDgv(); 

我不過建議你創建一個類的項目,你要綁定到網格類型(如果您尚未創建一個尚未)和使用到的BindingList照着做。 This問題很好地描述瞭如何使用它作爲DataGridViews的源代碼進行綁定。

+0

它可以工作,但有一種方法可以自動刷新加載函數中的datagridview? –

+0

如果自動錶示只是將新插入的記錄添加到網格中,那麼不,我不認爲這是可以完成的。您必須重新綁定數據源才能顯示新記錄。 –

0

我每次把刷新功能,我把新的數據在數據庫中,以便在DataGridView會刷新一次新的數據我進入

public void AddData() 
    { 
     using (IDbConnection dbconnection = new SQLiteConnection(conn)) 
     { 
      dbconnection.Open(); 

      using (IDbCommand dbCmd = dbconnection.CreateCommand()) 
      { 
       string sqlQuery = "INSERT INTO tbl_sample (Name,Age) VALUES('" + textBox1.Text + "','" + textBox2.Text + "')"; ; 
       dbCmd.CommandText = sqlQuery; 

       using (IDataReader reader = dbCmd.ExecuteReader()) 
       { 

         SQLiteDataAdapter dataadapter = new SQLiteDataAdapter("SELECT * FROM tbl_Sample", conn); 
         DataSet ds = new System.Data.DataSet(); 

         dataadapter.Fill(ds, "Info"); 
         dataGridView1.DataSource = ds.Tables[0]; 

        dbconnection.Close(); 
       } 
      } 
     } 
    }