1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

datagridview

Discussão em 'Programação' iniciada por Parreira, 19 de Março de 2009. (Respostas: 2; Visualizações: 1979)

  1. Boas pessoal
    Como posso apagar uma linha no datagridview, eu tenho a linha de codigo, mas quando chega a ultima linha do datagrid ele da erro.

    dgexcel.Rows.Remove(dgexcel.Rows(dgexcel.CurrentRow.Index))

    Obrigado
     
  2. PNDmartins

    PNDmartins Power Member

    acrescenta uma verificação:

    Código:
    If DgExcel.CurrentRowIndex > -1 Then
          dgexcel.Rows.Remove(dgexcel.Rows(dgexcel.CurrentRo w.Index))
    End If
    
    Passo a explicar:
    A datagridview tem uma propriedade que é: .AllowAddRows.

    Quando esta propriedade está activa, aparece sempre uma linha extra na datagrid com um *. Essa linha tem sempre o index -1 e a datagrid não permite a eliminação dessa linha. Essa linha é sempre a ultima, dai ser a causa do teu erro.

    Deduzi isto mas posso estar errado porque não estou a ver o resto do código mas se tiveres essa opção = True, é bem provável que seja.

    Depois diz qualquer coisa.
     
  3. jpaulino

    jpaulino Power Member

    Um ciclo para apagar faz-se sempre da última para a primeira linha. Experimenta dessa forma que já não deve dar erro.

    Depois deves verifica, como o PNDmartins já disse, se a ultima linha é uma linha em branco. Usa é este método (adaptando é claro)

     

Partilhar esta Página