如何从具有ID +名字+行的姓氏的表中填充下拉列表

时间:2016-03-24 11:14:24

标签: c# webforms

我使用此代码从表sql数据库填充我的dropdownlist。 我需要在下拉列表中显示每行的id,FirstName和LastName。

例如:

1-Sara Sindra
2-Michel Lafra.

但我的代码只显示在下拉列表中的ID。

public void Load_Combo(string Query, ComboBox cb)
{
    string ConnectionString = @"Data Source=.\sqlexpress;AttachDbFilename=|DataDirectory|\mydatabase.mdf;user id = sa;password = 1111111111";

    SqlConnection connection = new SqlConnection();

    cb.Items.Clear();

    connection.ConnectionString = ConnectionString;
    connection.Open();

    SqlDataAdapter adaptor = new SqlDataAdapter(Query, connection);
    DataTable dtt = new DataTable();
    adaptor.Fill(dtt);

    for (int i = 0; i < dtt.Rows.Count; i++)
        cb.Items.Add(dtt.Rows[i][0].ToString());
        connection.Close();

}


private void btn1_Click(object sender, EventArgs e)
{
   Load_Combo("SELECT ID , FName + ' ' + LName AS Fullname FROM studentstbl", cmb_cash1);
}

1 个答案:

答案 0 :(得分:0)

您可以使用string.Format按顺序合并IDFull Name,然后将结果字符串附加到ComboBox。

public void Load_Combo(string Query, ComboBox cb)
{
    string ConnectionString = @"Data Source=.\sqlexpress;AttachDbFilename=|DataDirectory|\mydatabase.mdf;user id = sa;password = 1111111111";

    SqlConnection connection = new SqlConnection();

    cb.Items.Clear();

    connection.ConnectionString = ConnectionString;
    connection.Open();

    SqlDataAdapter adaptor = new SqlDataAdapter(Query, connection);
    DataTable dtt = new DataTable();
    adaptor.Fill(dtt);

    for (int i = 0; i < dtt.Rows.Count; i++)
        cb.Items.Add(string.Format("{0}-{1}", dtt.Rows[i][0], dtt.Rows[i][1]));
    }       

    connection.Close();
}


private void btn1_Click(object sender, EventArgs e)
{
   Load_Combo("SELECT ID , FName + ' ' + LName AS Fullname FROM studentstbl", cmb_cash1);
}

for循环后进一步关闭连接,而不是for循环。见上面的代码段