Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在DataGridView中显示LiteDB数据?_C#_Datagridview_Windows Forms Designer_Litedb - Fatal编程技术网

C# 如何在DataGridView中显示LiteDB数据?

C# 如何在DataGridView中显示LiteDB数据?,c#,datagridview,windows-forms-designer,litedb,C#,Datagridview,Windows Forms Designer,Litedb,我是LiteDB新手,但是在使用了一个笨重的CSV文件之后,它似乎非常适合我的应用程序,但是我在Windows窗体DataGridView中显示数据时遇到了问题 我的LiteDB数据库可以很好地存储数据,但需要帮助显示数据 以下是我的POCO和用户数据存储方法: public class Preset { [BsonId] public int _id { get; set; } public string Name { get; set; } public int X

我是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);
    }
}
公共类预置
{
[BsonId]
公共int_id{get;set;}
公共字符串名称{get;set;}
公共整数X{get;set;}
公共整数Y{get;set;}
公共int Z{get;set;}
公共整数泡沫{get;set;}
}
公共void数据库()
{
使用(var db=新的LiteDatabase(db))
{
var col=db.GetCollection(“预设”);
var预设=新预设
{
Name=CustomPresetName.Text,
X=Int16.Parse(CustomX.Text),
Y=Int16.Parse(CustomY.Text),
Z=Int16.Parse(CustomZ.Text),
Foam=Int16.Parse(Foam.Text)
};
列插入(预设);
}
}
我只是尝试将DataGridView与作为数据源的对象链接,但是它不显示数据,只显示标题。我也曾在互联网上搜索过类似的问题或答案,但这似乎是一个相当原始的问题

非常感谢您对获取数据以在DataGridView中显示的任何帮助。

private List GetAll()
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();
}
{ var list=新列表(); 使用(var db=新的LiteDatabase(db)) { var col=db.GetCollection(“预设”); foreach(在col.FindAll()中预设_id) { 列表。添加(_id); } } 退货清单; } public void显示预设数据() { PresetView.DataSource=GetAll(); }
请注意,自动排序不适用于此绑定方法

PresetView.DataSource = col.FindAll().ToList()