Gravar valor de radiobutton em VB 2008

Fil__

Power Member
Malta tenho num form dois radiobutton em que um diz "Sim" e outro "Nao". Tenho na minha BD um campo chamado garantia. Tanto no databinding do "Sim" como do "Nao" tenho a opçao "Checked" e "DsObra - OBRA.GARANTIA" seleccionado. Ora o que acontece e que ao gravar a obra ele nao guarda a opcao tomada (seja o Sim ou o Nao) e nao percebo porque. O que estarei a fazer mal? Podem ajudar-me?
 
não sei se estou a perceber bem mas é mesmo com checked que isso se faz.

se o campo da bd for varchar ou string

Código:
if (rb.cheched==true)
  camporadio="sim";
 else
    camporadio="Não";
se o campo da bd for bit

Código:
if (rb.cheched==true)
  camporadio=1;
 else
    camporadio=0;

ambos os radiobutons tem de pertencer ao mesmo groupname(ou algo do genero), é uma propriedade do radio button

sera isso, em vb 2005 funciona
 
ele grava na bd Alfinete. Tive agora a confirmar. So que no form o rb escolhido nao fica preenchido (e como se nao tivesse escolhido nenhuma opçao). Percebes a minha questao?
 
ele grava na bd Alfinete. Tive agora a confirmar. So que no form o rb escolhido nao fica preenchido (e como se nao tivesse escolhido nenhuma opçao). Percebes a minha questao?

Boas
Então a tua questão é sobre como preencher os radio buttons com true ou false dependendo do valor recebido pela BD,certo??Se for isso tens de ler o valor pelo TableAdapter criado pela BindingSource e preencher o radio button consoante o valor,do tipo:
Código:
Dim TabelaDados as [B]ODataSetCriado[/B].AlfineteTableAdapter
Dim LeitorDados as DataTableReader
LeitorDados = TabelaDados.CreateDataReader
If LeitorDados.HasRows Then
     LeitorDados.Read()
     If LeitorDados!Garantia = True Then rbSim.Checked = True Else rbNao.Checked = True
     LeitorDados.Close()
End If
Uma coisa deste género ;)
Cumps
 
Neste momento o codigo que tenho é este

Código:
    Private Sub RbSim_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RbSim.CheckedChanged
        If RbSim.Checked Then
            Me.RbSim.Checked = True
            Me.DtpDataCompra.Enabled = True
            Me.CboFornecedor.Enabled = True
            Me.TbNFactura.Enabled = True
        End If
    End Sub

    Private Sub RbNao_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RbNao.CheckedChanged
        If RbNao.Enabled Then
            Me.DtpDataCompra.Enabled = False
            Me.CboFornecedor.Enabled = False
            Me.TbNFactura.Enabled = False
        End If
    End Sub

A coluna GARANTIA é um Bit
A BD grava a escolha, so que no form nao fica seleccionada a escolha feita :005:
 
Eu debruçava-me a tentar perceber porque é que o data binding não está a funcionar.

Como é que estas a fazer o binding?
 
Mas nao esta a funcionar? Como assim? O valor fica gravado na bd, eu se escolher "Sim" ele grava na bd o valor 1, se escolher "Nao" ele grava na bd o valor 0. O problema nao é da bd penso eu. No form ele e que nao guarda a opçao feito (escolha de um dos radiobuttons) ja que na bd fica guardado na coluna GARANTIA o valor
 
Se mudas o SIm e Nao, isso aparece na base de dados. Nao era o que pretendias? Ou queres que apareca mesmo sim e nao na base de dados em vez de 1 e 0?
 
Nao e na base de dados. Quero que no formulario, aquilo que o utilizador vê, surja o radiobutton marcado que o utilizador seleccionou

semttuloqe0.th.jpg


Percebes a ideia? Como ves na imagem, eu escolho o "Sim", o valor fica gravado na bd mas no form, ao voltar a entrar, o radiobutton "Sim" ja nao esta seleccionado como devia. Alias, nem o "Sim" nem o "Nao"

Podem ajudar?
thpix.gif
 
Yap, o radiobutton e o unico que nao fica marcado depois de gravado. Pensava que se operava da mesma maneira que o checkbutton mas esses ficam gravados, so o rb e que nao. E nao entendo porque, se tou a fazer algo mal, se nao estou a activar alguma cena...
 
O unico codigo dos rb e o que ja coloquei acima. As ligaçoes a bd sao feitas com um table adapter e um bindingsource mas fiz atraves dos wizards. Funciona tudo bem menos os radiobuttons e é isso que me mexe com o sistema nervoso
 
O código que está em cima é apenas um evento dos radiobuttons. O que eu te pedi é o pedaço de código onde chamas os dados que tens gravados na BD, para posteriormente passares aos radiobuttons ou outros controlos que tenhas no form.
 
Bem, foi tudo feito pelos wizards, nao tenho codigo feito "a mao" para passar os dados, foi com os wizards do proprio VS. Inda é possivel descobrir o que esta mal?
 
Back
Topo