2013-11-26 134 views
0

我有一個數據網格和一個刷新按鈕。我想刷新數據,當我點擊它,但它不會。我還刪除了SQL Server中的所有行,但數據仍然存在。數據網格視圖不會更新

這裏是我的按鈕代碼:

Student std = new Student(); 
dataGridView1.DataSource = false; 
dataGridView1.DataSource = std.List(); 

,這裏是我的List()功能:

public DataTable List() 
{ 
    try 
    { 
     sdl.Command.CommandText = this.GetType().Name + "_List"; 

     var dt = new DataTable(); 
     dt.Clear(); 

     SqlDataAdapter sda = new SqlDataAdapter(sdl.Command); 

     sda.Fill(dt); 

     return dt; 
    } 
    catch (Exception ex) 
    { 
     this.Message = ex.Message; 
     throw; 
    } 
    finally 
    { 
     if (sdl.Connection.State == System.Data.ConnectionState.Open) 
     { 
      sdl.Connection.Close(); 
     } 
    } 
} 
+0

您使用的是Windows Forms嗎? – NoChance

回答

0

假設你使用的是Windows表單,用於刷新數據網格內容,假設std.List()起作用並且實際上獲取新的da你可以嘗試:

this.dataGridView1.EndEdit();    //end current edits if you allow this (optional) 
this.dataGridView1.DataSource = null;  //reset datasource binding 
this.dataGridView1.DataSource = std.List(); 

這個話題在過去很受爭議,請參閱:Refresh dgv

0
DataSet ds = new DataSet(); 
    ds.Tables.Add(List()); 

    DataGridView1.DataSource = ds.Tables[0].DefaultView;