читая значение ComboBox, что DisplayMember и ValueMember заполняются словарем - PullRequest
0 голосов
/ 28 сентября 2018

Я сделал Dictionary в качестве источника данных для ComboBox, затем сохранил ValueMember этого ComboBox в базе данных

Dictionary<string, int> GravelCount = new Dictionary<string, int>
{
    {"val1",1},
    {"val2",2},
};
CB_Place.DataSource = new BindingSource(GravelCount, null);
CB_Place.DisplayMember = "Key";
CB_Place.ValueMember = "Value";
CB_Place.SelectedIndex = -1;

, теперь, когда я пытаюсь прочитать, это ValueMemberи покажите DisplayMember, как показано ниже, в строке CB_Place.SelectedItem = sqlReader[1].ToString(); ничего не происходит и combobox не заполнено ValueMember

public int GetPersonification()
{
    string connStr = ConfigurationManager.ConnectionStrings["SRJDconnstr"].ToString();
    string cmdStr = @"SELECT SIZ,
                                             PLACE,
                                             ONE_OR_MORE,
                                             R_OR_L,
                                             EKO_OR_ASH,
                                             NOTICE
                                     FROM PERSONIFICATION
                                   WHERE ID=@ID;";

    using (SqlConnection conn = new SqlConnection(connStr))
    using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
    {
            conn.Open();
            cmd.CommandText = cmdStr;
            cmd.CommandType = CommandType.Text;

            cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int)).Value = tb_id.text;

            SqlDataReader sqlReader = cmd.ExecuteReader();

            while (sqlReader.Read())
            {
                TB_Size.Text = sqlReader[0].ToString();
                CB_Place.SelectedItem = sqlReader[1].ToString();
                TB_Note.Text = sqlReader[5].ToString();
            }
    }
}

Я также пытался использовать ValueMember и ((KeyValuePair<string,int>)CB_type.SelectedItem).Value.ToString();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...