我有这个功能,我用来填充我的组合框但它没有被填满。我也没有收到任何错误。
public List<string> showStudents()
{
List<string> list = new List<string>();
string rollno;
command = connection.CreateCommand(); //command and connection have been initialized earlier..
command.CommandText = "select RollNo from student";
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
rollno = reader["RollNo"].ToString();
list.Add(rollno);
}
reader.Close();
return list;
}
catch (Exception)
{
throw;
}
finally
{
connection.Close();
}
}
}
}
comboBox.DataSource=showStudents();
可能是什么问题?请帮忙!!
谢谢..
得到了答案.. :)
foreach(string str in showStudent())
{
comboBox.Items.Add(str);
}
答案 0 :(得分:0)
如果读者返回结果,您应该设置ComboBox的成员“DisplayMember”和“ValueMember”,以告知combox应该使用哪一列用于显示的文本和项目的值。
像这样:
comboBox.DisplayMember = "RollNo"
comboBox.ValueMember= "RollNo"
您可以在设置DataSource后将其正确放置。告诉我们它是否有帮助。
答案 1 :(得分:0)
请参阅此示例示例并尝试使用您的代码
string Sql = "select Company_ID,company_name from JO.dbo.Comp";
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(Sql, conn);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
comboBox1.DataSource = ds.Tables[0];
comboBox1.DataTextField = "company_name";
comboBox1.DataValueField = "Company_ID";
comboBox1.DataBind();
comboBox1.Items.Insert(0, new ListItem("--Select--", "0"));
}