Как отобразить данные LiteDB в DataGridView? - PullRequest
0 голосов
/ 30 августа 2018

Я новичок в LiteDB, однако он выглядит идеально для моего приложения после использования громоздкого CSV-файла, но у меня возникают проблемы с отображением данных в форме Windows DataGridView.

Моя база данных LiteDB работает нормально с хранением данных, но нуждается в помощи для отображения данных.

Вот мой метод POCO и хранилище пользовательских данных:

public class Preset
{
   [BsonId]
   public int _id { get; set; }
   public string Name { get; set; }
   public int X { get; set; }
   public int Y { get; set; }
   public int Z { get; set; }
   public int Foam { get; set; }
}

public void DataBase()
{
   using (var db = new LiteDatabase(DB))
   {
      var col = db.GetCollection<Preset>("presets");    
      var preset = new Preset
      {
         Name = CustomPresetName.Text,
         X = Int16.Parse(CustomX.Text),
         Y = Int16.Parse(CustomY.Text),
         Z = Int16.Parse(CustomZ.Text),
         Foam = Int16.Parse(Foam.Text)
       };
       col.Insert(preset);
    }
}

Я просто попытался связать DataGridView с объектом в качестве источника данных, однако он не показывает данные, только заголовки. Я также занимался серфингом в интернете по поводу аналогичной проблемы или ответа, но она кажется довольно нетронутой.

Любая помощь в получении данных для отображения в DataGridView приветствуется.

1 Ответ

0 голосов
/ 30 августа 2018
private List<Preset> GetAll()
{
    var list = new List<Preset>();
    using (var db = new LiteDatabase(DB))
    {
        var col = db.GetCollection<Preset>("presets");
        foreach (Preset _id in col.FindAll())
        {
            list.Add(_id);
        }
    }
    return list;
}

public void DisplayPresetData()
{
    PresetView.DataSource = GetAll();
}
...