我必须使用C#创建项目管理系统。
我的问题是如何使用项目名称填充下拉列表并隐藏项目ID。因此,当我添加任务时,我也可以选择添加任务的项目。
我想在组合框内部获得的信息(例如,这将来自数据库):
Project 1
Project 2
Project 3
我想要隐藏的内容:
ProjectID = 1
ProjectID = 2
ProjectID = 3
所以当我选择项目时,我也会在我的查询中使用ID。
这就是我的表单现在的样子:
答案 0 :(得分:0)
通常,当您从数据库获取数据时,您将其保存在DataTable或通用数据源中。所以当你绑定你的组合框时,你应该做这样的事情:
DataTable data = data_from_database(); //method that returns your data
comboBox1.DisplayMember = "title";
comboBox1.ValueMember = "id";
comboBox1.DataSource = data;
获取
答案 1 :(得分:0)
设置Combobox
Droplist.DataSource = GetListItems(); //Get data from database.
Droplist.DataValueField = "Value";
Droplist.DataTextField = "DisplayText";
Droplist.DataBind();
答案 2 :(得分:0)
public void LoadSubjects()
{
List<ProjectItem> items = new List<ProjectItem>();
string connectionString = "SERVER=" + server + ";" + "DATABASE=" + database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";
try
{
using (MySqlConnection con = new MySqlConnection(connectionString))
{
con.Open();
string query = "SELECT ID, Naam FROM projecten";
MySqlCommand comm = new MySqlCommand(query, con);
MySqlDataReader reader = comm.ExecuteReader();
while (reader.Read())
{
int id = (int)reader["ID"];
string nm = (string)reader["Naam"];
items.Add(new ProjectItem(id, nm));
}
}
}
catch (Exception ex)
{
MessageBox.Show(Convert.ToString(ex));
}
comboBox1.Items.Clear();
comboBox1.Items.AddRange(items.ToArray<ProjectItem>());
}