0

我有这个功能,我用它来填充我的组合框,但它没有被填充。我也没有收到任何错误。

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);
}
4

2 回答 2

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"));
}
于 2013-07-31T05:46:38.777 回答
0

如果阅读器返回结果,您应该设置 ComboBox 的成员“DisplayMember”和“ValueMember”,以告知组合框应使用哪一列显示文本以及项目的值。

像这样 :

comboBox.DisplayMember = "RollNo"
comboBox.ValueMember= "RollNo"

设置好DataSource后就可以放了。告诉我们是否有帮助。

于 2013-07-30T19:18:48.147 回答