Usar 3 DBRadioGroup e somente uma seleção

04/12/2005

tenho 3 DBRadioGroup em somente um campo, ficou assim..

no primeiro ficou assim:


----Aguardando-----
* Laudo
* Peças
-----------------------

depois

----Consertado------
* Aguardando peças
* Aguardando reirada
-----------------------

depois

---Não consertado---
* Aguardando retirada
-----------------------

O problema é o seguinte EX: Se selecionar a primeira caixa a opção ...Laudo... e depois selecionar a terceira caixa ....Aguradando retirada..., os dois ficam marcados...tem como quando clicar na terceira cx desmarcar a primeira ?

Vlw...t+


Gigatel

Respostas

05/12/2005

Marcio.theis

Todos os 3 DBRadioGroup estão ligados ao mesmo campo da base de dados ???


Responder Citar

05/12/2005

Emerson

automaticamente, creio que não.
mas você poderia criar uma procedure como essa:

procedure TForm1.RadioGroup_Click(Sender: TObject);
  function iif(Condicao: boolean; Verdadeiro, Falso: variant): variant;
  begin
    if Condicao
    then Result := Verdadeiro
    else Result := Falso;
  end;
begin
  RadioGroup_Aguardando.ItemIndex := iif(Sender=RadioGroup_Aguardando,RadioGroup_Aguardando.ItemIndex,-1);
  RadioGroup_Consertado.ItemIndex := iif(Sender=RadioGroup_Consertado,RadioGroup_Consertado.ItemIndex,-1);
  RadioGroup_NaoConsert.ItemIndex := iif(Sender=RadioGroup_NaoConsert,RadioGroup_NaoConsert.ItemIndex,-1);
end;


e apontar o evento OnClick dos três RadioGroup para ela.


Responder Citar

05/12/2005

Gigatel

[quote:3fdeb0b2f5=´/]/]@t´]Todos os 3 DBRadioGroup estão ligados ao mesmo campo da base de dados ???[/quote:3fdeb0b2f5]

Sim...

tem ficar separado, o banco de dados só vai recer a informação do de qual qual está checado....


Responder Citar

05/12/2005

Gigatel

automaticamente, creio que não. mas você poderia criar uma procedure como essa:
procedure TForm1.RadioGroup_Click(Sender: TObject);
  function iif(Condicao: boolean; Verdadeiro, Falso: variant): variant;
  begin
    if Condicao
    then Result := Verdadeiro
    else Result := Falso;
  end;
begin
  RadioGroup_Aguardando.ItemIndex := iif(Sender=RadioGroup_Aguardando,RadioGroup_Aguardando.ItemIndex,-1);
  RadioGroup_Consertado.ItemIndex := iif(Sender=RadioGroup_Consertado,RadioGroup_Consertado.ItemIndex,-1);
  RadioGroup_NaoConsert.ItemIndex := iif(Sender=RadioGroup_NaoConsert,RadioGroup_NaoConsert.ItemIndex,-1);
end;
e apontar o evento OnClick dos três RadioGroup para ela.



Ficou assim...

procedure T_FORM_OS_AND.RadioGroup_Click;
  function iif(Condicao: boolean; Verdadeiro, Falso: variant): variant;
  begin
    if Condicao
    then Result := Verdadeiro
    else Result := Falso;
  end;
begin
  DBRadioGroup1.ItemIndex := iif(Sender=DBRadioGroup1,DBRadioGroup1.ItemIndex,-1);
  DBRadioGroup2.ItemIndex := iif(Sender=DBRadioGroup2,DBRadioGroup2.ItemIndex,-1);
  DBRadioGroup3.ItemIndex := iif(Sender=DBRadioGroup3,DBRadioGroup3.ItemIndex,-1);
end;


más dá este erro

[Error&93; Unit10.pas(49): Undeclared identifier: ´Sender´


tem declarar esta váriável ?


Responder Citar

05/12/2005

Emerson

repare bem no cabeçalho da procedure que eu te passei e da procedure que você criou.


Responder Citar

05/12/2005

Gigatel

repare bem no cabeçalho da procedure que eu te passei e da procedure que você criou.


Valew..corrigí...agora deu certo...e ficou muito bom...vlw obrigadão...t+ flw...


Responder Citar