【问题标题】:Datagridview doesn't refreshDatagridview 不刷新
【发布时间】:2014-09-26 00:55:02
【问题描述】:

我是 Visual C# 的新手,我创建了一个本地数据库并添加了一个显示数据库内容的 datagridview。问题是每当我向数据库添加内容时,datagridview 都不会刷新。它只会在我再次运行我的应用程序时刷新。

我尝试从这里更改连接字符串:

SqlCeConnection cn = new SqlCeConnection(@"Data Source=C:\Users\Florence\Documents\Visual Studio 2012\Projects\WindowsFormsApplication1\WindowsFormsApplication1\Quality.sdf");

到这里:

SqlCeConnection cn = new SqlCeConnection(Properties.Settings.Default.QualityConnectionString);

但是,datagridview 会刷新,但数据不会存储到数据库中。 这是我的插入语句:

try
{
    SqlCeCommand exeSql = new SqlCeCommand("INSERT INTO [Read](Date,temperature,ph,conductivity,dissolvedOxygen) VALUES (@date,@tem,@ph,@con,@dis)", cn);
    exeSql.Parameters.AddWithValue("@date", lblTime.Text);
    exeSql.Parameters.AddWithValue("@tem", 1.5);
    exeSql.Parameters.AddWithValue("@ph", 1.2);
    exeSql.Parameters.AddWithValue("@con", 1.5);
    exeSql.Parameters.AddWithValue("@dis", 1.5);
    cn.Open();
    exeSql.ExecuteNonQuery();
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
finally
{
    MessageBox.Show("Query added!");
    cn.Close();
    this.readTableAdapter.Fill(this.qualityDataSet.Read);
}

【问题讨论】:

    标签: c# visual-studio-2012 datagridview


    【解决方案1】:

    因此,听上去,您似乎不太了解 DataGrid 的工作原理。首先,DataGrid 的基本功能是创建列和行来显示一组传递给它的数据。

    因此,当您执行 select 语句时,您会选择一组数据并将其传递给 DataGrid。然而,此时 DataGrid 不再与查询交互,并且查询不再检索数据。

    因此,为了让 DataGrid 刷新以显示新数据,您有几个选项,但是对于您的情况,我能想到的最简单的方法是 只需重新查询数据并传入新的数据集 然后调用其中一个辅助函数(我相信它的 .Refresh.Update)告诉 DataGrid 用它的新数据重新加载自己已收到。

    【讨论】:

    • 我尝试使用 datagridview1.refresh();和 datagridview1.update();但它仍然是一样的。没有什么变化。请问有什么提示吗?非常感谢。
    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 2020-02-06
    • 2012-01-02
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    相关资源
    最近更新 更多