如何实现DataGridView实时更新数据
2013-10-10 22:01
302 查看
主要控件有 datagridview checkbox picturebox trackBar1 label
datagridview :实时显示数据
checkbox :指示是否停止更新
picturebox :显示更新状态
trackBar1 :设置更新时间频率
label :显示一些相关信息
效果图如下:
datagridview :实时显示数据
checkbox :指示是否停止更新
picturebox :显示更新状态
trackBar1 :设置更新时间频率
label :显示一些相关信息
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; namespace WinMilkProject.Project { public partial class Form1 : Form { Thread myThread; OperateCB operatedb = new OperateCB(); public int frequency = 0;//更新时间频率 public static bool isUse = false;//是否停止更新 public static string statusInfo = string.Empty;//状态 private delegate void myDelegate(DataTable dt);//定义委托 public Form1() { InitializeComponent(); label2.Text = "更新频率为:" + (trackBar1.Value / 1000).ToString() + "秒"; } private void Form1_Load(object sender, EventArgs e) { myThread = new Thread(startFillDv);//实例化线程 myThread.Start(); } private void startFillDv() { while (true) { if (isUse) { statusInfo = "正在实时更新数据......"; DataTable dt = operatedb.MyDataTable("select * from test1");//把自己写的数据封装类OperaterCB 能够返回一个datatable Grid(dt); Thread.Sleep(frequency); } else { statusInfo = "停止更新!"; } } } private void Grid(DataTable dt) { if (this.InvokeRequired) { this.Invoke(new myDelegate(Grid), new object[] { dt }); } else { try { this.dataGridView1.DataSource = null; this.dataGridView1.DataSource = dt; dt = null; statusInfo = "更新完成!"; } catch { } } } private void Form1_FormClosed(object sender, FormClosedEventArgs e) { if (this.myThread.IsAlive) { this.myThread.Abort();//结束线程 } } private void timer1_Tick(object sender, EventArgs e) { label1.Text = statusInfo; frequency = trackBar1.Value; if (statusInfo.Trim() == "正在实时更新数据......") { pictureBox1.Visible = true; } else { pictureBox1.Visible = false; } } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { isUse = true; } else { isUse = false; } } private void trackBar1_Scroll(object sender, EventArgs e) { label2.Text = "更新频率为:" + (trackBar1.Value / 1000).ToString() + "秒"; } } }
效果图如下:
相关文章推荐
- 如何实现DataGridView实时更新数据
- 如何实现DataGridView实时更新数据【Z】
- 如何实现DataGridView实时更新数据
- 后台线程处理数据,如何实时更新UI(datagridview)----多线程同步问题
- 实现DataGridView实时更新数据
- oracle 如何用触发器实现更新刚插入的数据集合
- listview的item中有个checkbox,点击后会修改相应数据库数据,如何在listview中实时显示这个更新?
- 如何实现页面时间实时动态更新(局部更新)
- C#serialport收到数据实时插入数据库 datagridview更新一行 提高效率
- 如何自动更新JTable中的数据(代码实现)
- DataGridView如何实现列标头带数据筛选功能,就象Excel高级筛选功能一样
- C#如何更新DataGridView中的数据?
- rsync+Inotify实现数据的实时同步更新
- mysql如何实现插入数据时如果不存在则插入如果存在则更新的操作
- java实现的highcharts与ajax结合动态实时获取数据更新图表
- 如何实现业务数据中,某个属性动态更新
- java实现的highcharts与ajax结合动态实时获取数据更新图表
- 烂泥:rsync与inotify集成实现数据实时同步更新
- Android开发之--- 使用RxBus实现页面之间的数据实时更新
- DATAGRIDVIEW动态筛选数据,实现编辑之后,点击按钮更新,及删除选中的列到数据库。