Ir para conteúdo

POWERED BY:

Arquivado

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

Carcleo

Problemas com CheckListBox

Recommended Posts

Tenho um DBRadioGroup para escolher Se vai ser a vista ou a prazo o PGTO

Caso seja a Prazo, aparece um ChecklistBox pra mandar as opções pro banco

15 dias	  30 dias	  45 dias	  60 dias 	  90 dias

Eu estou mandando os dados pro banco assim:

QryPedidosListaPgto.Value := CLBpgto.Items.Text;	 QryPedidos.Post;

Isso porque o CheckListBox Nao tem acesso nativo a dados.

 

E no banco esta gravando com uma string :

 

15 dias (Espaço que são 2 quadradinhos) 30 dias...As opções selecioadas no CheckListBox.

Porem, agora preciso, na hora de listar os dados do pedido cadastrado, que a CheckListBox va o banco, pegue os valores e marque as opções selecionadas pelo cliente.

 

Como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz algo semelhante a isto, no meu caso eu fiz um separador entre os itens, utilizei o |, no caso antes de salvar, varria todo o stg, carregava em uma string separada por | e depois salvo no BD, na hora de ler do BD, pego este campo, carrego para uma string e faço o processo inverso, ou seja, quando encontra um | insere o item no clb...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oh colega.Eu ainda não sou muito bom em Delphi.Teria como voce postar aí pra min como você fez, tipo por a parte do teu código.Ta um pouco dificil pra mi.Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta fazer, faz um while sobre o checkList, caso esteja marcado carregue em uma string colocando um separador, pode ser o |, e depois somente faz o inverso...

Facilitando um pouco sua vida... segue algo como pode fazer:

 

procedure TForm1.BitBtn1Click(Sender: TObject);var	aux, montagem: string;	x: integer;begin//Procedimento para pegar os marcados com um separadoraux:='';for x:=0 to CheckListBox1.Items.Count - 1 do	begin	if CheckListBox1.State[x] = cbChecked then		begin		if aux <> '' then			aux:=aux + '|';		aux:=aux + CheckListBox1.Items.Strings[x];		end;	end;if aux <> '' then	aux:=aux + '|';Memo1.Lines.Clear;Memo1.Lines.Add(aux);//Procedimento para carregar o clb através da stringmontagem:='';CheckListBox2.Clear;if aux <> '' then	begin	for x:=1 to Length(aux) do		begin		if aux[x] = '|' then			begin			CheckListBox2.Items.Add(montagem);			CheckListBox2.State[CheckListBox2.Count - 1]:=cbChecked;			montagem:='';			end		else			montagem:=montagem + aux[x];		end;	end;end;

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.