//實例說明:數據大約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"]; } }
總結:顯示效果相同,第一種速度快,不夠靈活,第二種顯示數據靈活但是速度不快