Removendo linhas no DataGridView

Estou adicionando um dados em um DataGridView e está funcionando bem, mas qdo eu removo uma linha(em qualquer linha), os dados que sobram a ultima linha some, mas ela continua adicionada no DataGridView, tanto que qdo eu adiciono novamente ele preenche normalmente com a ultima linha.

Veja as telas para entender melhor:

pode se perceber que a ultima linha a qual não removi sumiu junto com a que eu removi

Uma coisa que percebi e que qdo eu uso o refresh() no DataGridView ele some a ultima linha e quando eu uso um método para preencher o DataGridView ele pula o primeiro, mas debugando eu percebi que ele entra e adiciona se qualquer erro veja como estou add:

Eu consegui resolver o problema descrito anteriormente com a solução abaixo, mas outro problema apareceu, estou eu uso uma coluna que eu conto a quantidade de registros(é um incremento que faço no código mesmo) e no refresh não resolveu, coisa que já imaginava, então, tentei dar uma solução como abaixo e não deu certo.

Se está dando refresh vai sumir mesmo o que fez “por fora”. Faz essa numeração na query pra não precisar dessa gambiarra. Nao sei se voce informou o banco, ler imagem é ruim, mas se for Oracle use rownum e SqlServer row_number.

Sim, mas n estou usando o datasource porque estava dando o mesmo erro. Na verdade qdo eu adicionava o datasource ou a ganbiarra funcionava, mas qdo eu removo um item ele some a linha 0 ou a ultima linha vai depender de como atualizo o datagridview.

  • se removo e mandou atualizar com datasouce ou um a um por um laço de repetição ele, tipo, oculta a primeira linha, ou
  • quando eu faço o refresh no datasource e removo apenas na list ele faz isso acima com a ultima.

e já que tinha dado certo com o refresh, então, pensei em fazer o que fiz com a ultima imagem, que alias não deu certo.

O que preciso dizer com isso tudo é que o problema n é popular é em excluir e adicionar/atualizar os dados novamente na grid estou mexendo com winforms a pouco tempo e em meus outros projetos sempre utilizava o listview e funcionava, mas fui colocar na cabeça de usar grid e peguei esta bucha ai. mas preciso resolver de uma forma limpa. Me ajude @javaflex

Mas está correto usar GridView.

Nunca usei sem DataSource, é muito mais prático com. Pode ser objetos de entidade, DataTable, etc. Faz décadas que nao trabalho pra aplicacoes desktop, mas se nao me falha a memória voce deve manipular a fonte (DataSource) e nao o grid. Se estiver usando DataTable por exemplo, apague a linha do DataTable.

Entendo…