有两个问题:
1. 比如说我按了一个按钮之后,从数据库中取出一些数据显示在listView中,当我再次按钮这个按钮之后,又从数据库中取出这些数据,这样就在listView中显示了两组相同的数据。如何解决?
2. 我把一个DataGridView与一个表绑定,当我更新了这个表的数据后,如何实时刷新这个DataGridView中的数据?

解决方案 »

  1.   

    1:在向ListView的Items中添加数据之前先使用ListView.Items.Clear()清空原来的数据,然后再添加Item2:没有好的办法,除非你使用一个Timer定时的检查是否有数据更改过了。
      

  2.   

    谢谢hbxtlhx  问题1解决了!  
    不过问题2的话,我想应该有好的方法吧?
    继续等待!.....
      

  3.   

    2:没有好的办法,除非你使用一个Timer定时的检查是否有数据更改过了。--------------------------------------------
    可能也只能用timer进行监控了!
      

  4.   

    对于问题2,因为在运行的程序没有办法知道数据库的内容被更新的,数据库也没有事件能通知应用程序它的数据被修改了。所以我们在应用程序中不能通过“事件”来重新加载数据。我知道的就是定时重新加载数据到DataGridView中以体现数据的改动。
      

  5.   

    参考下面的代码吧(未测试):private void RefreshData()
    {
    Timer timer = new Timer();
    timer.Interval = 2000;
    timer.Tick += new EventHandler(timer_Tick);
    timer.Start();
    }void timer_Tick(object sender, EventArgs e)
    {
    this.getData();
    }delegate void dataDle();
    private void getData()
    {
    if (this.InvokeRequired)
    {
    dataDle dd = new dataDle(this.getData);
    this.Invoke(dd);
    return;
    }
    this.DataGridView.DataSource = this.getDataFromDB();
    }