添加项目到一个DataGridView组合框
问题描述:
我有一个WinForm应用程序。在窗体的Load()我正在运行下面的代码,试图在窗体上的DataGridView中加载ComboBox的下拉内容。当表单加载并显示时,不显示任何内容。我错过了什么?添加项目到一个DataGridView组合框
using (DataTable cTable = _SQLConnection.GetData("SELECT Name FROM Carrier"))
{
foreach (DataRow row in cTable.Rows)
{
Carrier.Items.Add(row[0].ToString());
}
}
答
也许尝试首先从数据库中的数据分配给一个数组,然后打印出在控制台中的数组,看看数据甚至被从数据库中收集正确。
其次,如果上述方法的工作,那么你可以,而使用数组加载到下拉组合框,如下所示:
创建get和set方法不同的类:
public class getData{
public string Col1 { get; set; }
public int Col2 { get; set; }
}
然后使用一个循环,以填补在列表中的阵列:
0123:getData[] allData = null;
string sql = @"SELECT col1, col2 FROM Carrier";
using (var command = new SqlCommand(sql, con))
{
con.Open();
using (var reader = command.ExecuteReader()){
var list = new List<getData>();
while (reader.Read())
list.Add(new getData{ Col1 = reader.GetString(0), Col2 =
reader.GetString(1) });
allData = list.ToArray();
}
然后通过填充组合框
using (DataTable cTable = _SQLConnection.GetData("SELECT Name FROM Carrier")){
foreach (2ndClassname class1 in 2ndClassName.allData){
ComboBox.Items.Add(class1.COLUMNNAME);//I am unaware of how many columns your database has :/
}
}
值得一试我猜?
你使用过调试器..? 'cTable'里面有数据吗??查找ComboBox属性的'DataSource和DataMember'以及 – MethodMan
Carrier表中没有数据? –