我现在使用datagridview取的数据后 然后显示在Winform页面上  这些数据是从数据库中取出来的!然后有可能我数据库更新了!然后datagridview上而没有更新数据!所以我现在想 定时跟新数据! 我能不能使用Timer控件 来定时更新数据呢?        private void Form1_Load(object sender, EventArgs e)
        {
            objSqlconnection = new SqlConnection("server=.;uid=sa;pwd=.;database=bybaoming");            objSqlDataAdapter = new SqlDataAdapter("select * from UserInfo", objSqlconnection);            objSqlDataAdapter.Fill(objDataSet, "UserInfo");            dataGridView1.DataSource = objDataSet.Tables[0].DefaultView;            //如果行为数为零 则禁用 跟新 和删除 按钮            if (objDataSet.Tables["UserInfo"].Rows.Count == 0)
            {
                butdel.Enabled = false;
                butupdate.Enabled = false;
            }                  
        }大家帮忙想想办法!谢谢!

解决方案 »

  1.   

    如果用TIMER控件,那就是TICK事件里调用datagridview填充数据的代码,检测服务器数据库更新,如果服务器更新了,既修改时间变了或大小变了,则引发timer_tick事件的。其次就是,直接用timer_tick每隔一段时间(interval)重新填充dataset
      

  2.   

    用Timer控件,在Timer控件的Tick事件里加上Form1_Load事件即可。另外Interval属性可以控制时间。
      

  3.   

    如果用TIMER控件,那就是TICK事件里调用datagridview填充数据的代码,检测服务器数据库更新,如果服务器更新了,既修改时间变了或大小变了,则引发timer_tick事件的。其次就是,直接用timer_tick每隔一段时间(interval)重新填充dataset
    这段具体怎么实现呢?
      

  4.   

    timer_tick事件是每隔一段时间执行一次,如果服务器数据被修改,则需要服务器向客户端发送一个信息,这个需要用代码实现(较麻烦),只用timer_tick是无法实现的。timer_tick只能每隔一段时间执行一次操作
      

  5.   

    private void timer1_Tick(object sender, EventArgs e)
            {
                    int second = 10 * 60;//10分钟
                    second--;
                    if (second == 0)
                    {
                        //刷新DBGRID数据
                    }
                }
            }