我想用数据库中的名字填充我的组合框。是否有可能在1个组合框2列中填充它?例如:我有2列,Name
和Position
。我想把名字放在具有相应位置的组合框中。
示例:
Name Position
---------------------------------------------
jack President
jill President
maria Vice President
john Secretary
这是我的代码:
{
DataTable table = new DataTable();
using (SqlConnection sqlConn = new SqlConnection("my connection"))
{
using (SqlDataAdapter da = new SqlDataAdapter(@"SELECT Name, Position FROM CandidateTable", sqlConn))
da.Fill(table);
}
comboBox1.DataSource = table;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Position";
}
注意:我想用jack和jill的名字填充我的组合框只有bcoz他们有相同的位置。其他名字也在另一个组合框中..不是在总统组合框中..我想要一个单独位置的组合框..你得到我的英文?
答案 0 :(得分:2)
您需要连接数据库或模型
中的两个字段SELECT (name + ' - ' + Position) AS NameAndPosition from Employee
OR
public class Employee
{
public string Name {get; set; }
public string Position {get; set; }
public string NameAndPosition
{
return String.Format("{0} - {1}", Name, Position);//
}
}
在您的组合框中,显示字段为NameAndPosition
答案 1 :(得分:0)
组合框中不可能有两列。但是,有几个javascripts可以构建一种自定义界面来实现这一点。
以下是其中一个
的链接http://blog.pengoworks.com/index.cfm/2008/4/3/Preview-jQuery-Multicolumn-Dropdown-Plugin
另一个选择是,您可以选择名称和位置作为一个字段,并在下拉列表中显示
'select [Name] + " - " + [Position"] from table xxx'
这样,您将在下拉列表中同时拥有名称和位置。
答案 2 :(得分:0)
使用此代码,我相信你会得到答案......
string query = "SELECT unitId,unitName FROM unit";
DataSet ds = new DataSet();
sqlopen();//a function for check open or close sql connection
// you must set already sqlConnection for sqlCon parameter
SqlCommand cmd = new SqlCommand(query, sqlCon);
cmd.CommandType = CommandType.Text;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "tbl");
cbEdit.DataSource = ds.Tables["tbl"];
cbEdit.DisplayMember = "unitName";
cbEdit.ValueMember = "unitId";