Я сделал 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();