Usuário com melhor resposta
Erro gridview

Pergunta
-
Quando eu clico na minha gridview era pras linhas que ela está armazenada os dados irem para seus textx box
private void dgvAgendamento_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (dgvAgendamento.SelectedRows.Count > 0)
{
lblid.Text = dgvAgendamento.SelectedRows[0].Cells[0].Value.ToString();
txtCliente.Text = dgvAgendamento.SelectedRows[0].Cells[1].Value.ToString();
maskData.Text = dgvAgendamento.SelectedRows[0].Cells[2].Value.ToString();
}
}Esse é o evento.
Additional information: O índice estava fora do intervalo. Ele deve ser não-negativo e menor que o tamanho da coleção. o erro- Editado Bruno Brandão da Silva quinta-feira, 7 de julho de 2016 20:13
Respostas
-
Estava com erro no meu botão de busca, esqueci de incluir uma coluna
- Marcado como Resposta Robson William SilvaModerator terça-feira, 12 de julho de 2016 20:24
Todas as Respostas
-
-
-
Bruno, tenta dessa forma:
private void dgvAgendamento_MouseDoubleClick(object sender, MouseEventArgs e) { if (dgvAgendamento.SelectedRows.Count > 0) { DataGridViewRow linhaClicada = dgvAgendamento.CurrentRow; lblid.Text = linhaClicada.Cells["SuaColuna1"].Value.ToString(); txtCliente.Text = linhaClicada.Cells["SuaColuna2"].Value.ToString(); maskData.Text = linhaClicada.Cells["SuaColuna3"].Value.ToString(); } }
Diego Almeida Barreto</strong> <br/> <em>System Analyst / Software Developer</em> <br/> <img </p> </div>
- Sugerido como Resposta Diego de Almeida Barreto (Lewis) sexta-feira, 8 de julho de 2016 14:18
-
- O evento esta ocorrendo no DoubleClick e não no Click
- Você esta utilizando MouseDoubleClick. A menos que precise de informações do Mouse, utilize CellClick que lhe trará informações do DataGridViewCellEventArgs e não do Mouse
- Pode ser que o grid não esteja selecionando a linha inteira, nesse caso, configure o SelectionMode para FullRowSelect;
- Utilizando SelectedRows[0] Você esta sempre exibindo os dados da linha 0 e não da linha Clicada.
Para linha clicada, utilize Rows[e.RowIndex]. - Deve verificar se a linha é maior que >= 0 ou > -1, pois a linha 0 é a primeira linha do grid e o topo / cabeçalho é a linha -1
- Seu código ficaria mais ou menos assim:
private void dgvAgendamento_CellClick(object sender, MouseEventArgs e) { dgvAgendamentos.SelectionMode = DataGridViewSelectionMode.FullRowSelect; if(e.RowIndex > -1) { lblid.Text = dgvAgendamento.Rows[e.RowIndex].Cells[0].Value.ToString(); txtCliente.Text = dgvAgendamento.Rows[e.RowIndex].Cells[1].Value.ToString(); maskData.Text = dgvAgendamento.Rows[e.RowIndex].Cells[2].Value.ToString(); } }
- Editado DevMaicon domingo, 10 de julho de 2016 07:10
- O evento esta ocorrendo no DoubleClick e não no Click
-
-
Boa tarde Bruno Brandão da Silva,
Qual das soluções acima te ajudaram a resolver seu problema?
Se você mesmo resolveu, poderia nos informar como fez?
obrigado,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Estava com erro no meu botão de busca, esqueci de incluir uma coluna
- Marcado como Resposta Robson William SilvaModerator terça-feira, 12 de julho de 2016 20:24
-
Obrigado pela resposta Bruno Brandão da Silva.
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
-