C# Telerik WinForms RadGridView创建和填充运行时

C# Telerik WinForms RadGridView创建和填充运行时,c#,winforms,gridview,grid,telerik,C#,Winforms,Gridview,Grid,Telerik,我的问题与此非常相似 但是我不想创建数据表 这是网格视图 GridView = new RadGridView { AutoSizeRows = true, BeginEditMode = RadGridViewBeginEditMode.BeginEditProgrammatically, Location = new Point(0, 130),

我的问题与此非常相似

但是我不想创建数据表

这是网格视图

 GridView = new RadGridView
            {
                    AutoSizeRows = true,
                    BeginEditMode = RadGridViewBeginEditMode.BeginEditProgrammatically,
                    Location = new Point(0, 130),
                    Name = "GridView",
                    ShowRowErrors = false,
                    Size = new Size(390, 100),
                    TabIndex = 0,
                    Visible = false
            };
此方法在运行时创建列

 private List<GridViewTextBoxColumn> InitializeColumns()
    {
        var result = new List<GridViewTextBoxColumn>();

        {
            var columnId = new GridViewTextBoxColumn
                {
                    Name = "RecordID",
                    HeaderText = "ID",
                    FieldName = "RecordID",
                    MaxLength = 50,
                    Width = 50,
                    DataType = typeof(int)
                };
            result.Add(columnId);
        }

        {
            var columnInformation = new GridViewTextBoxColumn
                {
                    Name = "RecordInformation",
                        HeaderText = "Information",
                        FieldName = "RecordInformation",
                        MaxLength = 50,
                        Width = 250,
                        DataType = typeof(string)
                };
            result.Add(columnInformation);
        }

        {
            var columnRowType = new GridViewTextBoxColumn
            {
                Name = "RecordType",
                HeaderText = "Type",
                FieldName = "RecordType",
                MaxLength = 50,
                Width = 250,
                DataType = typeof(string)
            };
            result.Add(columnRowType);
        }

        return result;
    }

因此,我将列表绑定到网格视图。列显示良好,但不显示数据。必须有一个记录。我错过了什么?

这是我放在表单上的全部代码,效果很好:

    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        RadGridView GridView = new RadGridView
        {
            AutoSizeRows = true,
            BeginEditMode = RadGridViewBeginEditMode.BeginEditProgrammatically,
            Location = new Point(0, 130),
            Name = "GridView",
            ShowRowErrors = false,
            Size = new Size(390, 100),
            TabIndex = 0,
            //Visible = false,
            Parent = this
        };

        GridView.Columns.AddRange(InitializeColumns().ToArray());

        List<OrderTripChangedAlertItem> list = new List<OrderTripChangedAlertItem>();
        OrderTripChangedAlertItem item = new OrderTripChangedAlertItem(0, "some info", "some type");
        list.Add(item);
        GridView.DataSource = list;
    }

    private List<GridViewTextBoxColumn> InitializeColumns()
    {
        var result = new List<GridViewTextBoxColumn>();

        {
            var columnId = new GridViewTextBoxColumn
            {
                Name = "RecordID",
                HeaderText = "ID",
                FieldName = "RecordID",
                MaxLength = 50,
                Width = 50,
                DataType = typeof(int)
            };
            result.Add(columnId);
        }

        {
            var columnInformation = new GridViewTextBoxColumn
            {
                Name = "RecordInformation",
                HeaderText = "Information",
                FieldName = "RecordInformation",
                MaxLength = 50,
                Width = 250,
                DataType = typeof(string)
            };
            result.Add(columnInformation);
        }

        {
            var columnRowType = new GridViewTextBoxColumn
            {
                Name = "RecordType",
                HeaderText = "Type",
                FieldName = "RecordType",
                MaxLength = 50,
                Width = 250,
                DataType = typeof(string)
            };
            result.Add(columnRowType);
        }

        return result;
    }

    internal class OrderTripChangedAlertItem
    {
        public int RecordID { get; set; }
        public string RecordInformation { get; set; }
        public string RecordType { get; set; }

        public OrderTripChangedAlertItem(int recordID, string recordInformation, string recordType)
        {
            RecordID = recordID;
            RecordInformation = recordInformation;
            RecordType = recordType;
        }
    }
protected override void OnLoad(事件参数e)
{
基础荷载(e);
RadGridView GridView=新RadGridView
{
AutoSizeRows=true,
BeginEditMode=RadGridViewBeginEditMode.BeginEditProgrammatically,
位置=新点(0,130),
Name=“GridView”,
ShowRowErrors=false,
尺寸=新尺寸(390100),
TabIndex=0,
//可见=假,
父项=此
};
GridView.Columns.AddRange(InitializeColumns().ToArray());
列表=新列表();
OrderTripChangeDalerItem项=新的OrderTripChangeDalerItem(0,“某些信息”,“某些类型”);
列表。添加(项目);
GridView.DataSource=list;
}
私有列表初始化为columns()
{
var result=新列表();
{
var columnId=新的GridViewTextBoxColumn
{
Name=“RecordID”,
HeaderText=“ID”,
FieldName=“RecordID”,
最大长度=50,
宽度=50,
DataType=typeof(int)
};
结果.Add(columnId);
}
{
var columnInformation=新的GridViewTextBoxColumn
{
Name=“RecordInformation”,
HeaderText=“信息”,
FieldName=“记录信息”,
最大长度=50,
宽度=250,
数据类型=类型(字符串)
};
结果。添加(列信息);
}
{
var columnRowType=新的GridViewTextBoxColumn
{
Name=“RecordType”,
HeaderText=“Type”,
FieldName=“RecordType”,
最大长度=50,
宽度=250,
数据类型=类型(字符串)
};
结果.添加(columnRowType);
}
返回结果;
}
内部类OrderTripChangeDalerItem
{
public int RecordID{get;set;}
公共字符串记录信息{get;set;}
公共字符串记录类型{get;set;}
public OrderTripChangeDalerItem(int-recordID、string-recordInformation、string-recordType)
{
RecordID=RecordID;
记录信息=记录信息;
记录类型=记录类型;
}
}
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        RadGridView GridView = new RadGridView
        {
            AutoSizeRows = true,
            BeginEditMode = RadGridViewBeginEditMode.BeginEditProgrammatically,
            Location = new Point(0, 130),
            Name = "GridView",
            ShowRowErrors = false,
            Size = new Size(390, 100),
            TabIndex = 0,
            //Visible = false,
            Parent = this
        };

        GridView.Columns.AddRange(InitializeColumns().ToArray());

        List<OrderTripChangedAlertItem> list = new List<OrderTripChangedAlertItem>();
        OrderTripChangedAlertItem item = new OrderTripChangedAlertItem(0, "some info", "some type");
        list.Add(item);
        GridView.DataSource = list;
    }

    private List<GridViewTextBoxColumn> InitializeColumns()
    {
        var result = new List<GridViewTextBoxColumn>();

        {
            var columnId = new GridViewTextBoxColumn
            {
                Name = "RecordID",
                HeaderText = "ID",
                FieldName = "RecordID",
                MaxLength = 50,
                Width = 50,
                DataType = typeof(int)
            };
            result.Add(columnId);
        }

        {
            var columnInformation = new GridViewTextBoxColumn
            {
                Name = "RecordInformation",
                HeaderText = "Information",
                FieldName = "RecordInformation",
                MaxLength = 50,
                Width = 250,
                DataType = typeof(string)
            };
            result.Add(columnInformation);
        }

        {
            var columnRowType = new GridViewTextBoxColumn
            {
                Name = "RecordType",
                HeaderText = "Type",
                FieldName = "RecordType",
                MaxLength = 50,
                Width = 250,
                DataType = typeof(string)
            };
            result.Add(columnRowType);
        }

        return result;
    }

    internal class OrderTripChangedAlertItem
    {
        public int RecordID { get; set; }
        public string RecordInformation { get; set; }
        public string RecordType { get; set; }

        public OrderTripChangedAlertItem(int recordID, string recordInformation, string recordType)
        {
            RecordID = recordID;
            RecordInformation = recordInformation;
            RecordType = recordType;
        }
    }