Cabeçalho de tabela personalizada de Vaadin
-
28-09-2019 - |
Pergunta
Quero criar cabeçalho de filtragem personalizado para tabelas Vaadin.
Você pode dar alguns exemplos ou solução para esse problema.
Quero adicionar uma caixa combinada ou caixa de seleção que refine a pesquisa na tabela como as colunas do Excel.
Solução
Livro de Vaadin é uma referência muito boa para a implementação de Vaadin. O link consiste em um código de exemplo como:
// Define the properties
table.addContainerProperty("lastname", String.class, null);
table.addContainerProperty("born", Integer.class, null);
table.addContainerProperty("died", Integer.class, null);
// Set nicer header names
table.setColumnHeader("lastname", "Name");
table.setColumnHeader("born", "Born");
table.setColumnHeader("died", "Died");
É isso que você pede? Se não for, você pode especificar sua pergunta um pouco mais claramente?
editar: Vaadin Sampler Também contém amostras de código pundidas.
Outras dicas
Enfrentamos o problema de adicionar filtros personalizados para a tabela Vaadin em nosso projeto também.
Como solução, adicionamos um formulário de filtro dinâmico acima da tabela. Tornou -se flexível e ágil o suficiente para aplicar filtros.
Criamos o Vaadin Addon para compartilhar nossa solução - Lexaden Grid.
Você pode encontrar mais informações pelo seguinte link:
No momento, é bastante difícil adicionar um componente personalizado para fazer filtragem no cabeçalho de uma tabela. Isso exigiria que você fizesse sua própria versão da tabela por herança/copiar e colar (não tenho certeza do que é suficiente), e isso é algo que a maioria das pessoas não quer evitar no momento, se for possível. A implementação atual do componente da tabela é um dos componentes mais complicados do Vaadin. É possível se você insistir em colocar componentes no cabeçalho, mas prepare -se para um pensamento sério para fazer com que as coisas funcionem.
Eu sugiro fazer a filtragem de dados em contêineres com componentes logo próximos/acima da sua tabela. Esconder o cabeçalho da tabela às vezes é aceitável se não houver informações cruciais mostradas lá. Se você quiser algo com precisão no cabeçalho, exigiria alguns cabeçalhos vazios e componentes de posicionamento CSS no local correto.
Você sempre pode agrupar a tabela e outros componentes de filtragem para um componente customizador para mais abstração.