数据网格视图不会更新

时间:2013-11-26 20:10:55

标签: sql-server c#-4.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();
        }
    }
}

3 个答案:

答案 0 :(得分:0)

我认为你只需要下面的行

dataGridView1.DataBind();

答案 1 :(得分:0)

假设您正在使用Windows窗体,刷新数据网格内容,假设std.List()工作并实际获取新数据,您可以尝试:

 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

答案 2 :(得分:0)

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

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