显示动态更改的数据库值并更改进度条的值
本文关键字:数据库 动态 显示 | 更新日期: 2023-09-27 18:34:28
我是c#和wpf的新手。我创建了一个 SQL Server 数据库表,它显示在 wpf 中的表中。我的问题是我希望初始显示表为空,并且当值添加到数据库表上时,它应该反映在显示表上。然后,此动态过程应链接到我的进度条,每次显示新值时,进度条都会更改 10%。
因此,它需要自动刷新文本块(例如每 10 秒一次(以检查数据库中是否已更新新值,然后显示该值并更改进度。
我该怎么做?
这是我的进度条代码。
private void loadprogressbar()
{
Duration dur = new Duration(TimeSpan.FromSeconds(30));
DoubleAnimation dblani = new DoubleAnimation(200.0, dur);
pb1.BeginAnimation(ProgressBar.ValueProperty, dblani);
}
这是我的显示表代码。
private void WeightVital()
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-QTFGN00; Initial Catalog=VITALS;Integrated Security=true");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT Weight FROM Vitals WHERE(VitalsID = 1)", con);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.SelectCommand = cmd;
DataSet dataset = new DataSet();
da.Fill(dataset);
if(dataset.Tables[0].Rows.Count>0)
{
string weight = dataset.Tables[0].Rows[0]["Weight"].ToString();
textBlock18.Text = weight;
}
}
private void HeightVital()
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-QTFGN00; Initial Catalog=VITALS;Integrated Security=true");
con.Open();
SqlCommand cmd = new SqlCommand("SELECT Height FROM Vitals WHERE(VitalsID = 1)", con);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.SelectCommand = cmd;
DataSet dataset = new DataSet();
da.Fill(dataset);
if (dataset.Tables[0].Rows.Count > 0)
{
string height = dataset.Tables[0].Rows[0]["Height"].ToString();
textBlock19.Text = height;
}
}
任何帮助将不胜感激。提前谢谢。
0( 创建一个对象来表示您的"重要"行
1( 将ObservableCollection<Vital>
绑定到数据网格的ItemSource
<DataGrid ItemsSource="{Binding vitalList}" />
2(用您的数据填充此ObservableCollection<T>
vitalList.Add(myNewVital);
3( 由于 ObservableCollection 会在添加/删除或更改项目时触发事件,因此请将处理程序添加到 ObservableCollection 的 CollectionChanged
事件中,然后添加倾倒量或根据集合的Count
属性计算它
vitalList.CollectionChange += myProgressBarHandler;