C#开发之DataGridView填充数据使用小结

本文探讨了在C#中使用DataGridView展示数据的两种方法:通过DataSource和foreach循环。DataSource方式显示速度快,但灵活性较低,仅能显示数据源内容;而foreach循环虽然能灵活处理数据,但在大量数据时填充速度较慢。对于大约8173条数据的展示,两种方法的优缺点进行了详细比较。
摘要由CSDN通过智能技术生成

DataGridView在c#程序展示数据中有很大的使用率,展示的数据的效率和灵活性上根据不同的需求可以选择不同的方法,以下是例子:
在这里插入图片描述

//实例说明:数据大约8173条,显示在DataGridView上
            //以下采用两种方法:
            //第一种采用DataSource的方式赋值,显示到dataGridView1
            //第二种方式采用foreach循环遍历逐行赋值,显示到dataGridView2上
            //优缺点:
            //第一种,显示速度快,只能显示数据源中的数据,不够灵活
            //第二种,显示的数据灵活,数据量大时,填充数据慢
 
            //1.获取数据
            DataTable dt = new DataTable();
            dt = GetTargetDatas();
 
            //2.赋值,第一种方法
            FillDataGridViewWithDataSource(dataGridView1, dt);
 
            //2.赋值,第二种方法
            FillDataGridViewWithForeach(dataGridView2, dt);
//实例说明:数据大约8173条,显示在DataGridView上
            //以下采用两种方法:
            //第一种采用DataSource的方式赋值,显示到dataGridView1
            //第二种方式采用foreach循环遍历逐行赋值,显示到dataGridView2上
            //优缺点:
            //第一种,显示速度快,只能显示数据源中的数据,不够灵活
            //第二种,显示的数据灵活,数据量大时,填充数据慢
 
            //1.获取数据
            DataTable dt = new DataTable();
            dt = GetTargetDatas();
 
            //2.赋值,第一种方法
            FillDataGridViewWithDataSource(dataGridView1, dt);
 
            //2.赋值,第二种方法
            FillDataGridViewWithForeach(dataGridView2, dt);
  private void FillDataGridViewWithDataSource(DataGridView dataGridView,DataTable dTable)
        {
            //1.清空旧数据
            dataGridView.Rows.Clear();
            //2.填充新数据
            if (dTable != null && dTable.Rows.Count > 0)
            {
                //设置DataGridView列数据
                dataGridView.Columns["ITEM_NO"].DataPropertyName = "ITEM_NO";
                dataGridView.Columns["ITEM_NAME"].DataPropertyName = "ITEM_NAME";
                dataGridView.Columns["INPUT_CODE"].DataPropertyName = "INPUT_CODE";
 
                //设置数据源,部分显示数据
                dataGridView.DataSource = dTable;
                dataGridView.AutoGenerateColumns = false;
            }
        }

总结:显示效果相同,第一种速度快,不够灵活,第二种显示数据灵活但是速度不快

【之前总是用index赋值,一旦增减列就非常痛苦,还是用列名好】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值