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


//实例说明:数据大约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;
            }
        }

 

private void FillDataGridViewWithForeach(DataGridView dataGridView, DataTable dTable)
        {
            //1.清空旧数据
            dataGridView.Rows.Clear();
            //2.赋值新数据
            foreach (DataRow row in dTable.Rows)
            {
                int index = dataGridView.Rows.Add();
                dataGridView.Rows[index].Cells["ITEM_NO2"].Value = row["ITEM_NO"];
                dataGridView.Rows[index].Cells["ITEM_NAME2"].Value = row["ITEM_NAME"];
                dataGridView.Rows[index].Cells["INPUT_CODE2"].Value = row["INPUT_CODE"];
            }
        }

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM