AndreZc Membro Junior
Registrado: Quinta-Feira, 22 de Abril de 2010 Mensagens: 383 Localização: Rio de Janeiro
|
Enviada: Sex Jan 09, 2015 9:48 am Assunto: LiveBindings em tempo de Execução |
|
|
Bom dia. Preciso fazer o seguinte:
Ter quatro colunas definidas e, em cada uma delas, um Listbox; todas elas serão criadas dentro de um ScrollBox. A quantidade de Listboxies na tela será equivalente à quantidade de "Tarefas" que estiverem cadastradas no banco de dados. Em suma, a cada tarefa, quatro Lisboxies. Se eu possuir duas tarefas, terei oito Listboxies. Perfeito.
Montei a rotina que se encarregará de montar os ListBoxies na tela de acordo com o que manda o banco de dados. Fiz o seguinte:
Código: |
for I := 1 to cdsObj.RecordCount do
begin
labelvir := TPanel.Create(Self);
LabelVir.Parent := SBox;
Labelvir.name := 'Indice_' + inttostr(I);
LabelVir.Tag := I;
LabelVir.Caption:= '';
Labelvir.Left := Left;
Labelvir.Top := Top;
Labelvir.Width:= 500;
Labelvir.Height:= 300;
Labelvir.Color:= clMoneyGreen;
Labelvir.Align:= alTop;
labelvir.Font.Size:= 15;
Left := Left + espaco;
ListLeft := 45;
ListEspaco := 380;
for J := 1 to 4 do
begin
if I = 1 then
begin
Titulo := TLabel.Create(Self);
Titulo.Parent := Labelvir;
Titulo.Name := 'Label_' + inttostr(J) + IntToStr(I) ;
Titulo.Tag := I;
Titulo.Left := ListLeft + 130;
Titulo.Font.Style:= [fsBOLD];
Titulo.Top := Top - 21;
Titulo.Height:= 20;
Titulo.Width:= 450;
Titulo.Alignment:= taCenter;
Titulo.Color:= clMoneyGreen;
Titulo.Font.Size:= 12;
end;
if J = 1 then
Titulo.Caption:= 'A fazer'
else if J = 2 then
Titulo.Caption:= 'Em execução'
else if J = 3 then
Titulo.Caption:= 'Em Teste'
else if J = 4 then
Titulo.Caption:= 'Concluído';
// LisView1
ListView1 := TListView.Create(Self);
ListView1.Parent := Labelvir;
ListView1.name := 'List_' + inttostr(J) + inttostr(I) ;
ListView1.Tag := I;
ListView1.Left := ListLeft;
ListView1.Top := Top;
ListView1.Height:= 250;
ListView1.Width:= 350;
ListView1.Color:= clMoneyGreen;
ListView1.Font.Size:= 15;
ListLeft := ListLeft + ListEspaco;
end;
end;
|
Aqui é montado, como vocês podem perceber, uma estrutura com Labels e todos os quadros. A intenção é criar um quadro de tarefas, o conhecido Kanban.
Cada ListBox desse corresponde a um projeto, e cada projeto terá as suas pendências -- que serão listadas a partir dos itens que devem ser adicionados. Os itens também já estão cadastrados no banco de dados. Um exemplo disso seria:
PROJETO 1
- pendência do projeto 1 #1
- pendência do projeto 1 #2
- pendência do projeto 1 #3
[...]
Só que eu não sei como ligar os itens de cada ListBox ao seu respectivo registro, filtrando pelo Código do Projeto, o que permitiria dividir as tarefas corretamente.
Além disso, cada um dos quatro ListBoxies terão as suas respectivas funções: o primeiro diz respeito àqueles que ainda estão com o status A FAZER; os outros serão: EM EXECUÇÃO, EM TESTE e, por fim, CONCLUÍDO. Todas essas informações estão no banco de dados, em cada uma das tarefas pertencentes aos seus respectivos projetos.
Os ListBoxies permitem que os seus itens sejam arrastados entre si, trocando, assim, o valor do campo status para o equivalente ao ListBoxies a que se encontrará. Ou seja, se eu arrasto uma tarefa em A FAZER para EM EXECUÇÃO, o seu status será alterado de A FAZER para EM EXECUÇÃO.
Alguém tem alguma ideia de como eu posso proceder a partir daqui?
Muito obrigado! |
|