ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

LiveBindings em tempo de Execução

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
AndreZc
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 22 de Abril de 2010
Mensagens: 383
Localização: Rio de Janeiro

MensagemEnviada: Sex Jan 09, 2015 9:48 am    Assunto: LiveBindings em tempo de Execução Responder com Citaçã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!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
AndreZc
Membro Junior
Membro Junior


Registrado: Quinta-Feira, 22 de Abril de 2010
Mensagens: 383
Localização: Rio de Janeiro

MensagemEnviada: Sex Jan 09, 2015 1:43 pm    Assunto: Responder com Citação

Alguém, por favor?
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB