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赋值,一旦增减列就非常痛苦,还是用列名好】