我用的还是同一个数据源,不过就是想刷新一下,使DataGrid重新加载,可是我重新加载后,出现了重复的记录,有没有什么办法先清空DataGrid

解决方案 »

  1.   

    重新加载? 用的什么方法
    数据绑定你不需要清空DataGrid
    需要的只是把数据源里数据弄对就行了,估计是数据源里出现了重复的记录
      

  2.   

     private void PRODUCT_Click(object sender, RoutedEventArgs e)
            {
                string sql = "SELECT ProID,ProName,ProMarketPrice,ProPrice,ProAmount,ProSales FROM products";    //SQL语句
                SqlDataAdapter dataAdapter = new SqlDataAdapter(sql, conn);   //定义一个dataAdapter
                dataAdapter.Fill(dataSet, "商品表");   //填充数据集
                this.DataGrid_messager.ItemsSource = dataSet.Tables["商品表"].DefaultView;  //填充数据进控件
            }我在这个按钮添加了事件,点击这个按钮,会在DataGrid中显示出数据表,但是重复点击的话,之前的数据不会消失,而是会重复出现这个表的数据,想问一下,有没有办法先清空先前的数据表
      

  3.   

    使用的什么组件?可以先赋值null
      

  4.   

    用的是DataGrid,是C# wpf的,试过了,不能设置为空值。
      

  5.   

    我猜是你DataSet被重复填充了。
    dataAdapter.Fill(dataSet, "商品表");   //填充数据集  // 这里dataSet可能还有旧的数据
    你可以新建一个dataSet,看看问题是否存在。
    如果你没有设好主键,多次Fill是会造成重复数据。具体见微软文档
    https://docs.microsoft.com/zh-cn/dotnet/api/system.data.common.dbdataadapter.fill
      

  6.   

    感谢大家,我解决问题了,我在这个函数里面第一句加了清空dataset。