填充包含名称和项目ID的Dropbox

时间:2016-10-12 19:43:12

标签: c# mysql sql

我必须使用C#创建项目管理系统。

我的问题是如何使用项目名称填充下拉列表并隐藏项目ID。因此,当我添加任务时,我也可以选择添加任务的项目。

我想在组合框内部获得的信息(例如,这将来自数据库):

Project 1    
Project 2    
Project 3

我想要隐藏的内容:

ProjectID = 1
ProjectID = 2
ProjectID = 3

所以当我选择项目时,我也会在我的查询中使用ID。

这就是我的表单现在的样子:

C# form

3 个答案:

答案 0 :(得分:0)

通常,当您从数据库获取数据时,您将其保存在DataTable或通用数据源中。所以当你绑定你的组合框时,你应该做这样的事情:

 DataTable data = data_from_database(); //method that returns your data
 comboBox1.DisplayMember = "title";
 comboBox1.ValueMember = "id";
 comboBox1.DataSource = data;

Populating value and text of ComboBox

获取

答案 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>());  
    }