Localizar um registro em uma table SWT... [RESOLVIDO]
8 respostas
D
douglasduarte
Bom dia a todos!
Estou desenvolvento um sistema em SWT, e tenho uma tela de busca de produtos. Nela tenho um campo(Text) para digitação e logo abaixo uma table que exibe os produtos. Gostaria de adicionar uma funcionalidade a essa tela… Conforme o usuário for digitando no Text, o sistema vai selecionando na table o produto que tem o mesmo nome que foi digitado pelo usuário…
Criei uma instância da interface ModifyListener nela implementei o método modifyText(ModifyEvent e) e adicionei ao Text o método addModifyListener(ModifyListener listener), e no parâmetro do método passei a instância que tinha criado da interface ModifyListener…
E dentro do método modifyText(ModifyEvent e), apenas fiz as comparações com o conteúdo do Text e cada uma das linhas da Table…
Desculpe se não fui tão claro, ainda sou novo por aqui! Tenho muito a aprender ainda…
Espero que possa ajudar alguém…
Abrs
L
leandrooooo
Douglas, tranquilo?
Se você puder me ajudar ou tiver um exemplo para me enviar, eu ficarei muito grato.
Estou seguindo sua ideia abaixo mais nao estou obtendo sucesso.
Desde já Obrigado.
D
douglasduarte
Então leandro, o que eu fiz foi o seguinte. Primeiro criei uma instância de ModifyListener... Que é responsável por "monitorar" modificações em um Text do SWT.
E por fim, foi só adicionar o listener instanciado anteriormente no ModifyListener do Text em questão, no meu caso é o tBusca...
tBusca.addModifyListener(listener);
Espero ter sido claro...
Abrs
Douglas
L
leandrooooo
Douglas, obrigado por enquanto.
Mais estou com outro problema, não estou conseguindo armazenar os dados na tabela no itensTable.
Pode me dar uma ajudar?
Está ficando nulo.
Obrigado.
D
douglasduarte
Então Leandro…
O array “itensTable” é uma instância de TableItem. Neste objeto é possível armazenar as linhas de uma table do SWT. No meu caso, eu criei um array para que eu pudesse receber todas as linhas da table, através do método table.getItems(). Ou seja, o método getItems() da classe Table, retorna TableItem[].
Ex:
TableItem[] itensTable = table.getItems();
L
leandrooooo
Douglas, estou apanhando ainda aqui, desculpe é que estou começando.
Você pode passar está rotina inteira? Tá dificil aqui.
Obrigado.
D
douglasduarte
Poxa, leandro me desculpe… Não tinha entendido a mensagem… Para adicionar dados na Table faça o seguinte…
TableItem linha = TableItem(table, SWT.NONE);
Lembrando que o primeiro parâmetro do construtor de TableItem deve ser o nome da instância do objeto Table…
Depois de instanciar o TableItem, você passa um array de String para que os dados sejam inseridos na table. Da seguinte forma: