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

8be76a90581440ff3734f05092b0883c.png

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

}

}

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐