Я пытаюсь получить данные из локальной базы данных и заполнить их столбчатой или линейной диаграммой. Я следовал всем учебникам, но не могу найти, где я ошибаюсь. В базе данных есть данные, и я могу получить к ним доступ с помощью метода App.Database.GetJournalEntries () на других страницах и каждый раз циклически проходить по списку, но я не могу связать их с XBindingPath и YBindingPath, когда я пытаюсь использовать один и тот же список в диаграмме.
viewData.xaml.cs
public ViewData()
{
InitializeComponent();
this.Title = "Data";
InitializeComponent();
SfChart chart = new SfChart();
chart.Title.Text = "Chart";
//Initializing primary axis
CategoryAxis primaryAxis = new CategoryAxis();
primaryAxis.Title.Text = "Name";
chart.PrimaryAxis = primaryAxis;
//Initializing secondary Axis
NumericalAxis secondaryAxis = new NumericalAxis();
secondaryAxis.Title.Text = "Height (in cm)";
chart.SecondaryAxis = secondaryAxis;
//Initializing column series
ColumnSeries series = new ColumnSeries();
series.ItemsSource = App.Database.GetJournalEntries();
series.XBindingPath = "entryTitle";
series.YBindingPath = "emotRange";
series.Label = "emot";
series.DataMarker = new ChartDataMarker();
series.EnableTooltip = true;
chart.Legend = new ChartLegend();
chart.Series.Add(series);
this.Content = chart;
}
Viewmodel
public class Database
{
SQLiteAsyncConnection _database;
public Database(string dbPath)
{
_database = new SQLiteAsyncConnection(dbPath);
_database.CreateTableAsync<db_GS>().Wait();
}
//Method I'm using to pull the data
public Task<List<db_GS>> GetJournalEntries()
{
return _database.Table<db_GS>().ToListAsync();
}
}
Модель данных
public class db_GS
{
[PrimaryKey, AutoIncrement]
public int ID { get; set; }
public string entryTitle { get; set; }
public string entryText { get; set; }
public string emot { get; set; }
public float emotRange { get; set; }
public string dataTime { get; set; }
}