Ao longo dos tempos, tenho desenvolvido alguns (ainda poucos) controlos (alguns deles foram publicados no site pontonet.pt com o objectivo de demonstrar alguns dos passos normalmente seguidos durante a construção de controlos ASP.NET). Hoje achei por bem lançar um conjunto de controlos que desenvolvi durante o meu estudo da plataforma ASP.NET 2. A maior parte dos controlos já existem há algum tempo, sendo que alguns foram mesmo apresentados em artigos do site pontonet.pt. Aliás, refira-se que já estou para lançar estes controlos há pelo menos um mês e meio – tenho vindo a adiar para tentar escrever um ou dois artigos sobre o assunto; contudo, como já vi que nos próximos tempos vai ser um pouco dificil escrever os tais artigos, achei por bem lançá-los por forma que os interessados possam consultar o código fonte e utilizá-los, se assim o desejarem.
Os controlos desenvolvidos foram os seguintes:
- LAGridView: grid que permite efectuar a inserção de novos registos. Este controlo foi apresentado num artigo publicado no site do grupo e foi melhorado de forma a suportar cenários em que a grid está associada a um controlo data source que não retorna elementos;
- LACheckBoxGrid: também apresentado previamente, este controlo que permite efectuar a selecção de múltiplas linhas foi melhorado de forma a corrigir alguns bugs existentes;
- LADateTextBox: Controlo que permite a introdução de uma data;
- LADateTextBoxValidator: demonstra a construção de um validator personalizado;
- LAOfficeViewer: controlo que permite embeber documentos office (word, excel, power point, etc.) numa página ASP.NET (utiliza um ActiveX para permitir o visionamento dos documentos office);
- LAThreeStateCheckBox: controlo que simula uma three state check box;
- LAPostalCode: Controlo que permite a introdução de códigos postais;
- LAFileUploader: Controlo capaz de efectuar upload de ficheiros;
- LAPDFViewer: wrapper capaz de gerar o código HTML necessário à apresentação de um ficheiro PDF;
- LAFolderPicker: controlo capaz de permitir a escolha de um ficheiro ou de um directório;
- Várias colunas que tentam colmatar algumas das limitações das colunas fornecidas pela plataforma.
Por enquanto, o suporte no designer a estes controlos é praticamente inexistente (pretendo modificar isto já que existem algumas novidades na nova versão da plataforma que, na minha opinião, merecem pelo menos um artigo!). Alguns dos controlos recorrem a user controls de windows forms e a ActiveXs pelo que poderá ser necessário 1) modificar as politicas .NET da plataforma no cliente por forma a que os user controls de windows forms funcionem correctamente e 2) configurar o browser para permitir o uso de ActiveXs.
Os controlos demonstram várias das novas funcionalidades da plataforma, que passam pela utilização de call-backs e terminam com o embedding de elementos para facilitar a distribuição de controlos servidor.
Note-se que estes controlos são fornecidos sem quaisquer garantias e podem ser usados livremente por quem assim o entender (só peço para me informarem acerca de bugs e para não removerem os cabeçalhos dos ficheiros cs que constituem a livraria). Para terminar, queria dizer que tenciono escrever pelo menos um artigo cujo principal objectivo é explicar algumas das novas funcionalidades usadas na construção destes elementos.
Refira-se ainda que o código fonte pode ser obtido aqui e contém um projecto web com algumas páginas que tentam demonstrar a utilização dos controlos.
[UPDATE: link actualizado – obrigado Daniel]
posted on Sunday, December 11, 2005 10:57 PM