如何在DataGridView 中显示LiteDB 数据?

How to display LiteDB data in DataGridView?

我是 LiteDB 的新手,但在使用繁琐的 CSV 文件后,它似乎非常适合我的应用程序,但我无法在 Windows Form 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 与 object 链接起来作为数据源,但是它不显示数据,只显示 headers。我也曾在网上冲浪过类似的问题或答案,但它似乎没有受到影响。

感谢您提供有关让数据显示在 DataGridView 中的任何帮助。

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();
}
PresetView.DataSource = col.FindAll().ToList()

请注意,自动排序不适用于此绑定方法。