我已經看到一些其他文章,但也許我做錯了什麼。我使用的是Visual Studio,C#,而這個datagridview使用的是Visual Studio中預定義的列(未編碼,使用GUI)。這甚至可能是問題的一部分,因爲當我嘗試加載DGV時,我會得到額外的列。下面是我的代碼,當填充DGV時,我只是得到沒有下拉選項的額外列。如何在具有特殊下拉的單元格中使用下拉條目將多行填充到此DGV中?我試圖阻止做一個大規模的嵌套for循環,以便儘可能一個接一個地執行這些循環,因爲我預計在這個DGV中可能會多達20K條線(我可能會通過其他方式減少,但我還沒有到那裏) 。C# - 使用SQL來源填充datagridview中的組合框
private void ReadSQL(string query, DataGridView grid){
try{
string connectionString = "Server=SERVERNAME;Database=DATABASENAME;Persist Security Info=True;";
dataAdapter = new SqlDataAdapter(query, connectionString);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
DataTable table = new DataTable();
table.Locale = System.Globalization.CultureInfo.InvariantCulture;
dataAdapter.Fill(table);
bindingSource1.DataSource = table;
//I expect something needs to happen here, not the line above.
grid.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader);
grid.RowHeadersVisible = false;
grid.EnableHeadersVisualStyles = false;
grid.ColumnHeadersDefaultCellStyle.BackColor = Color.DimGray;
grid.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
grid.GridColor = Color.RoyalBlue;
for(int i = 0 ; i < grid.Columns.Count; i++){
grid.Columns[i].Width = (grid.Size.Width/grid.Columns.Count) - 1;
}
}catch(SqlException ex){
MessageBox.Show("SQL ERROR: " + ex.ToString());
MessageBox.Show(query);
}
}
看起來我正在for循環中完成此操作,這可能是有效的。當解決方案准備就緒時,我會發布此信息,而且我總是爲其他方法的想法而遊戲。 –