Usuário com melhor resposta
id de uma seleção do combo

Pergunta
-
outra,
preencho um combobox, pelo DB 1:
SqlCommand cmd = new SqlCommand("SELECT idPredio, nomePredio FROM predio ORDER BY nomePredio", con);
SqlDataReader dr = cmd.ExecuteReader();
System.Data.DataTable table = new System.Data.DataTable();
table.Load(dr);
DataRow row = table.NewRow();
// row["nomePredio"] = "";
table.Rows.InsertAt(row, 0);
this.cbInstTrabalha.DataSource = table;
this.cbInstTrabalha.ValueMember = "idPredio";
this.cbInstTrabalha.DisplayMember = "nomePredio";
dr.Close();
dr.Dispose();beleza, aí seleciona o tal nomePredio, beleza, joga no DB 2, beleza...e o idPredio?
achei que a coluna seria preenchida automaticamente, mas não, como eu faço pra jogar o id desse cara no DB 2, é um int., e de acordo com o preenchimento é valuemember, preciso que o id acompanhe a seleção e que vá pro banco pra eu fazer relacionamentos depois.... dá pra pegar o value member ou tem algum outro jeito, ou preciso adicionar a coluna id no combobox? ou posso pegar do datatable?
passo pro banco assim: cmd.Parameters.AddWithValue("@instituicao", cbInstTrabalha.Text); mas não sei como escrever pra pegar o id...
Grato
Respostas
-
Bom dia,
pode usar o ValueMember:
int idPredio = (int)suaCombobox.SelectedValue;
Ou poderia usar a propriedade "SelectedItem" mas seria necessario realizar um cast, a opção mais simples seria ler o Valuemember conforme codigo acima.
- Sugerido como Resposta Fabio Rosa segunda-feira, 30 de janeiro de 2017 10:49
- Marcado como Resposta tracaja segunda-feira, 30 de janeiro de 2017 13:07
Todas as Respostas
-
-
Bom dia,
pode usar o ValueMember:
int idPredio = (int)suaCombobox.SelectedValue;
Ou poderia usar a propriedade "SelectedItem" mas seria necessario realizar um cast, a opção mais simples seria ler o Valuemember conforme codigo acima.
- Sugerido como Resposta Fabio Rosa segunda-feira, 30 de janeiro de 2017 10:49
- Marcado como Resposta tracaja segunda-feira, 30 de janeiro de 2017 13:07
-
-
e quando eu faço a inserção do novo registro pelo grid?
Inseri um combobox no grid, dos predios, o datasource é o prediobindingsource...aí eu não sei o que estou fazendo errado...
Se eu colocar o valuemember como o ID, dá um erro quando seleciona, se eu colocar o nomePredio como value member e displaymember dá certo, aí não sei como preencher o id...
estou gravando no banco assim:
cmd.Parameters.AddWithValue("@instituicao", (dgv2.CurrentRow.Cells["nomePredio"].Value.ToString()));
fiz do mesmo jeito pro id trocando o value por selected mas não deu certo...
cmd.Parameters.AddWithValue("@idPredio", (dgvCadColaborador2.CurrentRow.Cells["nomePredio"].Selected));
vou fazer o inverso.....
-