Usuário com melhor resposta
Dúvida em C#

Pergunta
-
Boa noite pessoal. Estou fazendo uma consulta em meu banco, fazendo com que a consulta me retorne o número da última OS grava. A busca é feita corretamente, O meu datagrid retorna o número da última OS Gravada, porém, no momento de fazer uma consistência em cima dessa informação me aparece o seguinte erro. Gostaria de saber de alguém, se consegue encontrar o erro?
Respostas
-
A tua logica de programacoa esta errada. Este exemplo te vai ajudar a responder a tua pergunta:
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount(v=vs.110).aspx
A flower cannot blossom without sunshine, and man cannot live without love.
- Marcado como Resposta Marcos SJ quarta-feira, 13 de janeiro de 2016 11:22
Todas as Respostas
-
Sera que sua grid não esta com uma linha em branco selecionada, esperimente caso sua grid esteja sempre exibindo uma linha em branco remova a mesma nas configurações allowNew ... não me lembro ao certo agora pois não estou com o VS aqui nessa maquina
Ou você pode realizar a consistencia da seguinte forma
if(grid[0,grid.currentrow.Index].value != null)
{
}
else
{
}
Junior
-
-
-
-
dgvConsulta[0, dgvConsulta.CurrentRow.Index] está NULL. Ou dgvConsulta[0, dgvConsulta.CurrentRow.Index].Value esta NULL. Por isso você está recebendo esse erro.
Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985
- Editado André de Mattos Ferraz sexta-feira, 8 de janeiro de 2016 13:25
- Sugerido como Resposta Marcio Nogueira Cardoso Pinto sexta-feira, 8 de janeiro de 2016 22:47
-
Garibaldo faça teste debugando crie variáveis atribuindo o conteúdo do dgvConsulta, por exemplo.
var contentDgv = dgvConsulta[0, dgvConsulta.CurrentRow.Index]; var contentValue = dgvConsulta[0, dgvConsulta.CurrentRow.Index].Value;
Dessa forma você poderá ver se realmente tem valor nesses dois casos e partir dai para encontrar o problema!
Espero que ajude!
-
-
-
-
-
Encontrou seu problema :D !!!
Você está tentanto acessar a propriedade index de um objeto null "CurrentRow.Index".
Agora vc tem que entender pq o CurrentRow ta null... Eu imagino que deva ser a ultima linha do datagridview...
Para vc evitar esse erro basta colocar um IF tipo esse no inicio do seu método.
if(dgv.CurrentRow == null) return;
Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985
- Marcado como Resposta Marcos SJ segunda-feira, 11 de janeiro de 2016 16:53
- Não Marcado como Resposta Garibaldo Luis Guerreiro Chaves segunda-feira, 11 de janeiro de 2016 22:05
-
André boa tarde. Se é assim, como eu faço para pegar a informação que está retornando no DataGrid? Se você verificar mais acima, eu mostro em meu datagrid a informação que desejo pegar.
Eu estou mostrando tanto a rotina que eu carrego o dataGrid como eu também mostro o meu Datagrid Povoado. O Datagrid está povoado , porém, está dando o erro.
Gari.
-
Você quer pegar o valor da row selecionada? Em qual evento vc ta tentando fazer isso? Você pode estar usando um evento onde o DataGridView ainda não foi povoado.
Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985
-
-
Não necessariamente...
Se vc ta colocando isso em um evento especifico de renderização da tela, tipo formload, vc mudou o datasource mais muito possivelmente ele ainda nao disparou outros eventos do DGV tipo datasource change (chute...).
Ai quando vc está tetando pegar o current row da erro pois o DGV ainda não foi totalmente montado neste evento...
Da uma olhada aqui sobre o ciclo de vida dos componentes https://msdn.microsoft.com/en-us/library/86faxx0d%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396
Att. Andre de Mattos Ferraz - www.iamferraz.com.br - http://mbsy.co/ldecrespigny/19022985
- Editado André de Mattos Ferraz terça-feira, 12 de janeiro de 2016 11:32
-
A tua logica de programacoa esta errada. Este exemplo te vai ajudar a responder a tua pergunta:
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.rowcount(v=vs.110).aspx
A flower cannot blossom without sunshine, and man cannot live without love.
- Marcado como Resposta Marcos SJ quarta-feira, 13 de janeiro de 2016 11:22
-