Visifire.Charts绑定数据库(MVVM)

xiaoxiao2021-02-28  128

/* Xaml*/ <vc:Chart.Series> <vc:DataSeries Name="dcm" LegendText="公里标(m)" DataSource="{Binding Path=ChartDatam}" XValueType="Numeric" RenderAs="Line" BubbleStyle="Style2"> <vc:DataSeries.DataMappings> <vc:DataMapping MemberName="XValue" Path="XValue"></vc:DataMapping> <vc:DataMapping MemberName="YValue" Path="YValue"></vc:DataMapping> </vc:DataSeries.DataMappings> </vc:DataSeries> <vc:DataSeries Name="dckm" LegendText="车速(Km)" DataSource="{Binding Path=ChartDataKm}" DataPoints="{Binding DCkm}" XValueType="Numeric" RenderAs="Line" BubbleStyle="Style2"> </vc:DataSeries> </vc:Chart.Series>

/*ViewModels*/

 class RailVibrateDetectViewModel : NotificationObject     { //数据库连接变量 MySqlConnection RailVibrateDetectData; //表示数据在内存中的缓存。 DataSet dt; //表示一组数据命令和一个数据库连接,它们用于填充 System.Data.DataSet 和更新数据源 MySqlDataAdapter adapter;  public List<DataPoint> ChartDatam         {             get;set;         } public RailVibrateDetectViewModel()         { //数据库连接             RailVibrateDetectData = MySqlService.getmysqlcon();             try             {                 RailVibrateDetectData.Open();                 string CommandText = "select * from ChartDatam";                 //实现对从数据接口Adapter对数据进行插入、更新、删除操作;                 MySqlCommandBuilder cb = new MySqlCommandBuilder(adapter);                 //表示数据在内存中的缓存。                 dt = new DataSet();                 //表示一组数据命令和一个数据库连接,它们用于填充 System.Data.DataSet 和更新数据源                 adapter = new MySqlDataAdapter(CommandText, RailVibrateDetectData);                 //在 System.Data.DataSet 中添加或刷新行以匹配使用 System.Data.DataSet 和 System.Data.DataTable                 //名称的数据源中的行。                 adapter.Fill(dt, "ChartDatam");                //创建点                 DataPoint dataPoint;                 for (int i= 0;i < dt.Tables[0].Rows.Count; i++)                 {                     dataPoint = new DataPoint();                     dataPoint.XValue = Convert.ToSingle(dt.Tables[0].Rows[i][0]);                     dataPoint.YValue = Convert.ToSingle(dt.Tables[0].Rows[i][1]);                      //将点加入源                     ChartDatam.Add(dataPoint);                     // this.add()                     //dcm.Add(dataPoint);                 }                // ChartDatam.Add(dataSeries);             } catch (Exception ex)             {                 MessageBox.Show(ex.ToString(), "数据库连接失败!!!");             } } }

转载请注明原文地址: https://www.6miu.com/read-27131.html

最新回复(0)