C# DataGridView 绑定List<T>做数据源

本文介绍了如何在C#中利用BindingList将List<T>数据绑定到DataGridView上,以提高性能。首先创建DataStuctClass类,然后创建BindingList并填充数据,最后实现BindingList与DataGridView的绑定,展示运行效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List作为c#一种泛型集合,不会强行对值类型进行装箱和拆箱,或对引用类型进行,向下强制类型转换,性能得到提高。DataGirdView作为一个强大的空间,可以绑定数控和list数据。只需通过BindingList类型将List数据绑定到DataGirdView即可。
第一步:声明DataStuctClass类,代码如下:

class DataStuctClass
    {
        private double _StartPointX;//图元起点X坐标Coordinate
        private double _StartPointY;//图元起点Y坐标Coordinate
        private double _EndPointX;  //图元终点X坐标Coordinate
        private double _EndPointY;  //图元终点Y坐标Coordinate
        private double _CircleCenterX;//图元圆心X坐标Coordinate
        private double _CircleCenterY;//图元圆心Y坐标Coordinate
         public double StartPointX { get => _StartPointX; set => _StartPointX = value; }
        public double StartPointY { get => _StartPointY; set => _StartPointY = value; }
        public double EndPointX { get => _EndPointX; set => _EndPointX = value; }
        public double EndPointY { get => _EndPointY; set => _EndPointY = value; }
        public double CircleCenterX { get => _CircleCenterX; set => _CircleCenterX = value; }
        public double CircleCenterY { get => _CircleCenterY; set => _CircleCenterY = value; }
public DataStuctClass(double StartPointX, double StartPointY, double EndPointX, double EndPointY, double CircleCenterX, double CircleCenterY)
        {
            this._StartPointX = StartPointX;
            this._StartPointY = StartPointY;
            this._EndPointX = EndPointX;
            this._EndPointY = EndPointY;
            this._CircleCenterX = CircleCenterX;
            this._CircleCenterY = CircleCenterY;
        }
    }
    

第二步:声明BindingList,并向BingL实例中填充数据,代码如下:

            BindingList<DataStuctClass> BingL = new BindingList<DataStuctClass>();
            for (int i = 0; i < 10; i++)
            {
                DataStuctClass TempData = new DataStuctClass(i, i + 1, i + 2, i + 3, i + 4, i + 5);
               BingL.Add(TempData);
            }
           

第三步:建立BingL与GridViewTest的绑定关系,代码如下:

 GridViewTest.AutoGenerateColumns = true;//允许GridViewTest自动创建列
            GridViewTest.DataSource = BingL;

运行结果如图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值