Problema ao marcar um RadioButton em tempo de execução
Eu tenho o seguinte procedimento que cria um RadioButton em tempo de execução:
procedure TfrmEditarImovel.RadioButtonTipo(rotulo: string; id, coluna, linha: integer; marcado: boolean);var check: TRadioButton;begincheck:=TRadioButton.Create(Self);check.Parent := ScrollBox2;check.Caption := rotulo;if marcado then check.Checked := marcado;check.Tag := id;check.Top:=(linha 17) - 17;check.Width:=120;check.Left:=(coluna 160) - 160;end;
O procedimento acima depende de dois resultados que esta em duas tabelas distintas.
Tabela 1:
Campos:
id - descricao
1 - apartamento
2 - casa
3 - terreno
4 - galpão
Na tabela 2, tem um campo que preenchido com TRUE e FALSE.
A operação funciona assim. A medida que vai criando os RadioButton para visualização é feita uma pesquisa paralela onde verifica se na tabela 2 existe algum RadioButton marcado como TRUE, se sim, é enviado como parametro no procedimento onde ele muda a propriedade do RadioButton para RadionButton.Checked := True; para que ele fique marcado.
exemplo:
RadioButtonTipo( ZQuery1.FieldByName('descricao').Value, ZQuery1.FieldByName('id').Value, y1, x1, TRUE);O ultimo parametro define se o RadioButton será marcado na criação dele.
Mas como na tabela 1 tem vários registro e consequentimente ele cria varios Radios, fica sempre com o ultimo marcado.
O eu estou errando?
Discussão (6)
Carregando comentários...