Quando olho para o CSListview eu vejo um mundo de possibilidades. Minha "viagem" mais recente é a possibilidade de exportar os dados do CSListview para um arquivo no formato HTML. Sim, isso é perfeitamente possível. E relativamente fácil.
Uma subclasse do Listview
É claro que o assunto em questão requer conhecimentos da programação orientada ao objeto. O CSListview é uma subclasse da classe Listview, onde implemento os métodos que desejo e manipulo as informações necessárias para os recursos que pretendo criar.
Identificando as colunas
Com o CSListview eu tenho informações de cada uma das colunas criadas. Para isso, criei uma coleção de objetos e cada um deles representa uma dessas colunas. Assim, as informações de cada coluna ficam disponíveis à medida que eu necessitar.
Selecionando as colunas
São as colunas do CSListview que servirão de base para a criação de uma TABLE no arquivo HTML. O usuário deve ter a opção de escolher quais colunas devem ser colocadas no arquivo HTML e na ordem em que ele desejar. Essa seleção de colunas é que vai orientar a criação de cada comando TD dentro do arquivo HTML. Esse procedimento é semelhante ao que já existe no recurso de exportação de dados do CSListview para arquivos texto.
Ordenando as colunas
Penso em permitir ao usuário escolher quais as colunas que devem ser ordenadas para que a geração do arquivo HTML atenda a uma ordem específica de colunas. Por exemplo, em um CSListview de notas fiscais o usuário pode optar por ordenar os dados a partir das colunas de data de vencimento e fornecedor. Além disso, uma quebra de página pode ser implementada a cada mudança de informação de cada uma dessas colunas informadas. Por exemplo, se o usuário especificar uma quebra de página a cada mudança de um fornecedor, a geração do arquivo pode checar essa informação e fazer a quebra automática cada vez que um fornecedor diferente for encontrado nos dados da coluna correspondente. Esse procedimento poderá ser feito em qualquer uma das colunas escolhidas para ordenar a leitura das informações do CSListview.
Totalizando colunas
Outro recurso que imagino ser interessante é possibilitar ao usuário escolher quais colunas ele deseja totalizar. Nesse caso, a totalização poderia ser feita de várias maneiras, como por exemplo, uma soma simples dos valores, uma contagem ou até mesmo uma média dos valores. Outras formas de totalização podem ser implementadas futuramente.
As colunas respondem
Com as informações de cada uma das colunas "em minhas mãos", logo depois de selecionadas e ordenadas, basta que eu saiba a descrição de cada coluna, a largura em pixéis e a sua justificação, à esquerda, à direita ou centralizada. Com base nessas informações, enfim, a tabela no arquivo HTML pode ser feita.
As linhas de dados
Gerar as informações das linhas de dados no arquivo HTML talvez seja a parte mais fácil do processamento, afinal de contas, o CSListview fornece esses dados de maneira bem simples. Eu tenho o conteúdo de cada uma das linhas de dados, coluna por coluna. Bastaria encaixar as informações gerando um código HTML para cada uma das linhas de dados do CSListview.Isso seria feito utilizando a tag TR do arquivo HTML.
Cabecalhos e quantidade de linhas
A interface do CSListview para todo esse processo também oferecerá campos para que o usuário possa escolher um título para o arquivo HTML, além de informações como quantidade de linhas por página, a data e a hora da geração do arquivo. Isso permitirá ao usuário imprimir o arquivo HTML, com controle de linhas e quebra de pagina automáticos.
Arquivo gerado. Fim da viagem.
O CSListview possui outros inúmeros recursos. Mas esse último, a geração do arquivo HTML, tornou-se um desafio prazeroso. Os desenvolvedores que já adquiriram o CSListview receberão o recurso gratuitamente em uma próxima atualização. Caso exista interesse de outras pessoas pela aquisição dessa ferramenta, basta entrar em contato comigo pelo email abaixo:
alexandre.cia@iron.com.br
Uma subclasse do Listview
É claro que o assunto em questão requer conhecimentos da programação orientada ao objeto. O CSListview é uma subclasse da classe Listview, onde implemento os métodos que desejo e manipulo as informações necessárias para os recursos que pretendo criar.
Identificando as colunas
Com o CSListview eu tenho informações de cada uma das colunas criadas. Para isso, criei uma coleção de objetos e cada um deles representa uma dessas colunas. Assim, as informações de cada coluna ficam disponíveis à medida que eu necessitar.
Selecionando as colunas
São as colunas do CSListview que servirão de base para a criação de uma TABLE no arquivo HTML. O usuário deve ter a opção de escolher quais colunas devem ser colocadas no arquivo HTML e na ordem em que ele desejar. Essa seleção de colunas é que vai orientar a criação de cada comando TD dentro do arquivo HTML. Esse procedimento é semelhante ao que já existe no recurso de exportação de dados do CSListview para arquivos texto.
Ordenando as colunas
Penso em permitir ao usuário escolher quais as colunas que devem ser ordenadas para que a geração do arquivo HTML atenda a uma ordem específica de colunas. Por exemplo, em um CSListview de notas fiscais o usuário pode optar por ordenar os dados a partir das colunas de data de vencimento e fornecedor. Além disso, uma quebra de página pode ser implementada a cada mudança de informação de cada uma dessas colunas informadas. Por exemplo, se o usuário especificar uma quebra de página a cada mudança de um fornecedor, a geração do arquivo pode checar essa informação e fazer a quebra automática cada vez que um fornecedor diferente for encontrado nos dados da coluna correspondente. Esse procedimento poderá ser feito em qualquer uma das colunas escolhidas para ordenar a leitura das informações do CSListview.
Totalizando colunas
Outro recurso que imagino ser interessante é possibilitar ao usuário escolher quais colunas ele deseja totalizar. Nesse caso, a totalização poderia ser feita de várias maneiras, como por exemplo, uma soma simples dos valores, uma contagem ou até mesmo uma média dos valores. Outras formas de totalização podem ser implementadas futuramente.
As colunas respondem
Com as informações de cada uma das colunas "em minhas mãos", logo depois de selecionadas e ordenadas, basta que eu saiba a descrição de cada coluna, a largura em pixéis e a sua justificação, à esquerda, à direita ou centralizada. Com base nessas informações, enfim, a tabela no arquivo HTML pode ser feita.
As linhas de dados
Gerar as informações das linhas de dados no arquivo HTML talvez seja a parte mais fácil do processamento, afinal de contas, o CSListview fornece esses dados de maneira bem simples. Eu tenho o conteúdo de cada uma das linhas de dados, coluna por coluna. Bastaria encaixar as informações gerando um código HTML para cada uma das linhas de dados do CSListview.Isso seria feito utilizando a tag TR do arquivo HTML.
Cabecalhos e quantidade de linhas
A interface do CSListview para todo esse processo também oferecerá campos para que o usuário possa escolher um título para o arquivo HTML, além de informações como quantidade de linhas por página, a data e a hora da geração do arquivo. Isso permitirá ao usuário imprimir o arquivo HTML, com controle de linhas e quebra de pagina automáticos.
Arquivo gerado. Fim da viagem.
O CSListview possui outros inúmeros recursos. Mas esse último, a geração do arquivo HTML, tornou-se um desafio prazeroso. Os desenvolvedores que já adquiriram o CSListview receberão o recurso gratuitamente em uma próxima atualização. Caso exista interesse de outras pessoas pela aquisição dessa ferramenta, basta entrar em contato comigo pelo email abaixo:
alexandre.cia@iron.com.br
Nenhum comentário:
Postar um comentário