C#-将GridControl绑定到列表并在运行时操作记录

C#-将GridControl绑定到列表并在运行时操作记录,c#,list,devexpress,gridcontrol,C#,List,Devexpress,Gridcontrol,这是我关于堆栈溢出的第一个问题,如果我做错了,很抱歉 我从C#和DevExpress开始,试图创建一个使用DevExpress GridControl(v.19.2.5.0)的示例,该类在列表中包含一些记录 我创建了一个简单的项目(Windows窗体),放置了一个GridControl,并尝试将GridControl连接到类(Record.cs/PrototipoViewModel.cs) 设计器模式下的GridControl列出了列,但在运行时,它是空的 我哪里出错了?或者,在运行时我没有做什

这是我关于堆栈溢出的第一个问题,如果我做错了,很抱歉

我从C#和DevExpress开始,试图创建一个使用DevExpress GridControl(v.19.2.5.0)的示例,该类在列表中包含一些记录

我创建了一个简单的项目(Windows窗体),放置了一个GridControl,并尝试将GridControl连接到类(Record.cs/PrototipoViewModel.cs)

设计器模式下的GridControl列出了列,但在运行时,它是空的

我哪里出错了?或者,在运行时我没有做什么来列出记录

我的第二个问题是,我可以使用列表直接在GridControl中插入、更新和删除运行时记录吗

课堂记录.cs

using System;
using System.Collections.Generic;

namespace Prototipo
{
    public class Record
    {
        public DateTime? Data { get; set; }
        public string Cliente { get; set; }
        public string Movimento { get; set; }
        public decimal Valor { get; set; }

        public static List<Record> GetRecords()
        {
            List<Record> people = new List<Record>();

            people.Add(new Record() { Data = new DateTime(2021, 04, 07, 19, 00, 00), Cliente = "Joao", Movimento = "D", Valor = 1000});
            people.Add(new Record() { Data = new DateTime(2021, 04, 07, 19, 30, 00), Cliente = "Maria", Movimento = "D", Valor = 2000 });
            people.Add(new Record() { Data = new DateTime(2021, 04, 07, 20, 00, 00), Cliente = "Jose", Movimento = "D", Valor = 3000 });

            return people;
        }
    }
}
该项目位于GitHub()中


感谢各位,我能够找到代码中的错误所在,我认为设置GridControl的“Choose DataSource”属性就足够了,但缺少以下代码:

private void frmPrototypeMain_Load (object sender, EventArgs e)
         {
             gridControl.DataSource = Prototipo.Record.GetRecords();
         }
好的,现在我只需要解决允许GridControl插入新行的问题,阅读DevExpress文档,说从数据源将“AllowNew”和“AllowRemove”属性设置为True,还说您需要创建一个具有此所需简单类型的一个属性的类。此类必须具有空的默认构造函数

我的数据源只有属性“AllowNew”,并且已经设置为“True”,但即使如此,我也不能在GridControl中插入新行

我的类是这个必需的简单类型的属性吗?它的默认构造函数是否为空


谢谢你一直以来的帮助

您可以播放要插入/更新/删除的列表记录。此外,我认为您不会将记录与网格控件绑定。您在哪里设置GridControl.DataSource属性?请发表评论@Zeeshanef@Brendon在“数据源”选项卡中,我创建了一个类型“Object”,并指向类“PrototypeViewModel”,在网格的“Choose DataSource”属性中,我选择了“recordsBindingSource”。正是在这个过程之后,列出现在设计模式中,但没有带来不充分的记录。您还需要将GridControl的DataSource属性实际设置为列表。您采取的设计器步骤只是创建列并为您设置其FieldName属性。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Prototipo
{
    public partial class frmPrototipoMain : DevExpress.XtraEditors.XtraForm
    {
        public frmPrototipoMain()
        {
            InitializeComponent();
        }
    }
}

private void frmPrototypeMain_Load (object sender, EventArgs e)
         {
             gridControl.DataSource = Prototipo.Record.GetRecords();
         }