Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal tenho um form com tabcontrol esse possui dois tabpage, na tabpage1 tenho um datagrid, na tabpage 2 tenho os textboxes, ao clicar duas vezes no item selecionado na tabpage1 abre a tabpage2 com os controles preenchidos, até aí beleza, mas se eu voltar ao tabpage1 e clicar em uma outra linha acontece um erro.
código do double click do datagrid
CODE
Private Sub DataGrid1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.DoubleClickTry
TabControl1.SelectedTab = TabPage1
Me.EditID.Visible = True
Me.Label1.Visible = True
EditID.DataBindings.Add("Text", dt, "id")
EditCodigo.DataBindings.Add("Text", dt, "codigo")
EditIgreja.DataBindings.Add("Text", dt, "igreja")
EditPr.DataBindings.Add("Text", dt, "pastor")
EditEndereco.DataBindings.Add("Text", dt, "endereço")
EditBairro.DataBindings.Add("Text", dt, "bairro")
EditCidade.DataBindings.Add("Text", dt, "cidade")
EditEstado.DataBindings.Add("Text", dt, "estado")
EditCEP.DataBindings.Add("Text", dt, "cep")
Catch ex As Exception
' em caso de erro, exibo na tela
MessageBox.Show(ex.ToString(), "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Segue o erro:
System.ArgumentException: This would cause two bindings in the collection to bind to the same property.
Parameter name: binding
Tenho nesse mesmo form uma toolbar, onde possuo os botões (incluir, alterar, gravar, cancelar, excluir e fechar)
Quando clico em alterar abre a tabpage2 com os dados do item selecionado no datagrid da tabpage1 faço as alterações necessárias, mas ao clicar no botão gravar ele gravar um outro registro com as alterações, ficando duplicado (um certo e um errado). como acertar isso?
código do botão gravar
CODE
cn.Open()Dim DA1 = New OleDbDataAdapter("select * from igrejas", cn)
Dim cb As New OleDbCommandBuilder
cb = New OleDbCommandBuilder(DA1)
Dim ds1 = New DataSet
DA1.Fill(IgrejasDS2, "igrejas")
Me.EditID.Visible = True
Me.Label1.Visible = True
Me.EditID.Text = ProximoNumero()
Dim drAux As DataRow
drAux = IgrejasDS2.Tables("igrejas").NewRow
drAux("ID") = EditID.Text
drAux("Codigo") = EditCodigo.Text
drAux("Igreja") = EditIgreja.Text
drAux("Pastor") = EditPr.Text
drAux("Endereço") = EditEndereco.Text
drAux("Bairro") = EditBairro.Text
drAux("Cidade") = EditCidade.Text
drAux("Estado") = EditEstado.Text
drAux("CEP") = EditCEP.Text
IgrejasDS2.Tables("igrejas").Rows.Add(drAux)
OleDbDataAdapter1.Update(IgrejasDS2)
DA1.Update(IgrejasDS2, "igrejas")
IgrejasDS2.AcceptChanges()
Com os dados sendo visualizados na tabpage2 (controles) e ao clicar no botão excluir ele exclui sempre o registro acima do registro. por exemplo escolhi o registro ID=9 no datagrid, clico duas vezes abre a tabpage2 onde posso alterar, excluir, cancelar e gravar, se escolher excluir ele exclui o ID=8 e não o ID=9. como resolver isso também.
codigo do botão excluir
CODE
Dim Result As DialogResultresult = MessageBox.Show("Deseja excluir a Igreja: " + EditIgreja.Text, "Exclusão de Igreja", MessageBoxButtons.YesNo)
If result = DialogResult.Yes Then
IgrejasDS2.Tables("igrejas").Rows(Me.BindingContext(IgrejasDS2.Tables("igrejas")).Position).Delete()
OleDbDataAdapter1.Update(IgrejasDS2)
MessageBox.Show("Igreja Excluida", "Exclusão de Igreja")
TabControl1.SelectedTab = TabPage2
carregardados()
Else
EditCodigo.Focus.ToString()
End If
Carregando comentários...