DELETAR LINHA NO DATAGRIDVIEW

GILBERTOJW 13/02/2013 14:54:13
#419200
Pessoal alguém pode me indicar que código eu coloca para deletar a linha no datagridview ?

For Each row As DataGridViewRow In Me.DataGridView2.Rows
If Not row.IsNewRow Then
For Each cell As DataGridViewCell In row.Cells
If (cell.Value).ToString.ToUpper.Contains(TextBox5.Text) Then
With Me.DataGridView2.Rows(row.Index).DefaultCellStyle
.BackColor = Color.SpringGreen
End With
Exit For
Else
Deletar a linha no datagridview ( O QUE COLOCO AQUI ? )
End If
Next [ô] Fim do ciclo nas colunas
End If
Next [ô] Fim do ciclo nas linhas
JABA 13/02/2013 17:25:36
#419207
assim :

DataGridView2.Rows.Remove(row)

ou

DataGridView2.Rows.Remove(DataGridView2.CurrentRow)

GILBERTOJW 13/02/2013 17:54:21
#419209

Caro JABA dá o erro abaixo em tempo de execução. O que pode ajudar-nos ?


System.NullReferenceException was unhandled
Message=[Ô]Object reference not set to an instance of an object.[Ô]
Source=[Ô]CADASTROS[Ô]
JESUEL.OLIVEIRA 13/02/2013 18:29:43
#419211
Resposta escolhida
Amigo Gilbertojw

tente
em qual evento você esta setando a função acima?

A função abaixo como nosso amigo JABA colocou funciona, coloque no evento KEY e aperte DEL verá que funciona.

Apaga a linha selecionada CurrentRow.
  
DtVendas.Rows.Remove(DtVendas.CurrentRow)
GILBERTOJW 13/02/2013 18:43:22
#419212
Josuel obrigado mas tentei de novo e nada. Segue abaixo onde estou usando, e é o evento click de um botão. No click ele devería fazer a leitura de todos os ítens do datagridview e então ir deletando os ítens onde não exista a sequencia de caracteres que eu peço.

For Each row As DataGridViewRow In Me.DataGridView2.Rows
If Not row.IsNewRow Then
For Each cell As DataGridViewCell In row.Cells
If (cell.Value).ToString.ToUpper.Contains(TextBox5.Text) Then
With Me.DataGridView2.Rows(row.Index).DefaultCellStyle
.BackColor = Color.SpringGreen
End With
Else
DataGridView2.Rows.Remove(DataGridView2.CurrentRow)
End If
Next [ô] Fim do ciclo nas colunas
End If
Next [ô] Fim do ciclo nas linhas
JESUEL.OLIVEIRA 13/02/2013 18:56:37
#419213
Ok, Amigo


Pelo que pude observar na sua explicação não vai funcionar no exemplo que lhe passei pois você vai linha a linha e o focu não anda junto, precisa informar qual linha vai ser deletada.

  
DataGridView2.Rows.Remove(DataGridView2.Rows(row.Index))

FELLIPEASSIS 16/02/2013 15:36:53
#419221
para datagrid desvinculado do banco é assim
datagridview1.Rows.Remove( datagridview1.CurrentRow)
para apagar do banco de dados é assim
If MessageBox.Show([Ô]Você quer excluir esta linha?[Ô], [Ô]Excluir[Ô], MessageBoxButtons.YesNo) = DialogResult.Yes Then
DataGridView1.Rows.RemoveAt(DataGridView1.SelectedRows(0).Index)
da.Update(dt)

End If
[Ô] da[Ô] é o seu SqlDataAdapter
[Ô]dt[Ô] é o seu DataTabl
GILBERTOJW 18/02/2013 10:10:46
#419254
Ok senhores agradeço a atenção de todos. Apliquei o exemplo do Jesuel e está fuincionando.

Agradeço à todos.
Tópico encerrado , respostas não são mais permitidas