Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wallcrawler

Erro ao ocultar linha no datagridview

Recommended Posts

Caros,

 

Estou fazendo uma pequena listagem de imóveis através de um datagridview, onde o usuário pode selecionar e excluir determinado imóvel.

 

Consigo excluí-lo, mas tenho que desaparecer com a linha, quando o imóvel for excluído com sucesso. Só que, ao excluir, o vb.net está dando o seguinte erro:

"Não é possível tornar invisível a linha associada à posição do gerenciador de moeda."

 

Segue o código, onde a linha do erro está em negrito:

 

Private Sub ExcluiImóvelSelecionadoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExcluiImóvelSelecionadoToolStripMenuItem.Click
		Dim imovel As String = DataGridView1.CurrentRow.Cells(0).Value
		Dim mensagem = MsgBox("Esse procedimento irá excluir definitivamente o imóvel" & vbCrLf & "Tem a certeza disso?", MsgBoxStyle.YesNo, "Atenção!")
		If mensagem = MsgBoxResult.Yes Then
			Dim conn As New ADODB.Connection
			conn.Open(My.Settings.conexao)
			conn.Execute("delete from imoveis_rgi where cod = " & imovel & "")
			If Err.Description = "" Then
				If DataGridView1.CurrentRow.Displayed() Then
				   DataGridView1.CurrentRow.Visible = False //Neste linha Erro
				End If

				MsgBox("Imóvel excluído com sucesso!", MsgBoxStyle.OkOnly, "Sucesso!")
			Else
				MsgBox("Erro na exclusão!" & vbCrLf & Err.Description, MsgBoxStyle.Exclamation, "Sucesso!")
			End If
		End If
	End Sub

O que fiz de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei muito de Windows Application mas se você der apenas um DataBind(), ele ja some com a linha ou não?

DataGridView1.DataBind().

Compartilhar este post


Link para o post
Compartilhar em outros sites

mande preencher novamente o table adapter do seu grid na ação de exclusão.

 

seria algo assim:

 

this.NomeDoTableAdapter.Fill(this.NomeDoDataSet.NomeDaDataTable);

 

procure no seu codigo, deve ter essa linha de codigo, pois ela eh executada quando seu grid eh carregado. você soh precisa chamá-la novamente.

 

isso seria equivalente a dar o databind(), mas essa opção não existe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.