msdn28_capa.jpg

Clique aqui para ler todos os artigos desta edição

 

Doc’s com acesso a dados e controles Windows Forms

 

As ferramentas do Microsoft Visual Studio 2005 para o Microsoft Office (Visual Studio Tools for Office – VSTO) constituem um novo e poderoso conjunto de recursos para o desenvolvimento Office dentro do ambiente do Visual Studio. Uma das novas características mais importantes do VSTO é a capacidade de criar documentos que são ligados a dados de BD, Web services ou objetos. Elementos de uma pasta/planilha do Excel, tais como objetos Range ou List, ou um Bookmark em um documento do Word, podem ser ligados a dados usando as mesmas ferramentas e sintaxe usadas ao criar aplicações baseadas em Windows Forms. Controles do Windows Forms também podem ser acrescentados a uma pasta/planilha ou a um documento usando VSTO.

A criação de um simples documento personalizado ligado a dados usando o designer do VSTO não exige nenhuma codificação, porém requer vários cliques do mouse. Em primeiro lugar, temos que informar ao Visual Studio a respeito de uma fonte de dados (data source) – no caso, o banco de dados de exemplo Northwind que vem com Office - e colocar alguns controles na planilha ou documento.

Definindo uma fonte de dados

Iniciamos o Visual Studio e criamos um novo projeto Excel. Selecionamos File>New Project e vamos até o item Office dentro de Visual C# ou Visual Basic para selecionar Excel Workbook Project. A partir do menu Data do Visual Studio, escolhemos Show Data Sources para exibir a janela Data Sources. Clicamos em Add New Data Source para iniciar o assistente Data Source Configuration Wizard

 

Escolha Database, clique em Next e a seguir em New Connection. Um segundo assistente aparecerá exibindo uma lista com várias opções de fontes de dados, tais como Microsoft Access Database File, Microsoft ODBC Data Source e Microsoft SQL Server. Escolhemos Microsoft Access Database File e clicamos Continue para ir para a caixa de diálogo Connection. O arquivo do banco de dados Northwind está normalmente no diretório Arquivos de Programas\Microsoft Office\Office11\Samples. Clicamos em Browse e selecionamos o banco de dados Northwind. Não há restrições de segurança neste arquivo de banco de dados, portanto o usuário padrão (Admin) e uma senha em branco funcionarão (em uma aplicação do mundo real, com um banco de dados seguro, seria uma idéia muito ruim ter uma senha de administrador em branco, claro). Clique em OK para fechar o Connection Wizard e continuar com o Data Source Configuration Wizard.

Quando clicarmos em Next, o Visual Studio nota que estamos criando uma conexão para um arquivo de banco de dados local, que não faz parte do projeto atual. Se quisermos que este projeto tenha sua própria cópia do banco de dados em lugar de modificar o original, podemos fazê-lo e o Visual Studio atualizará a conexão automaticamente para apontar para o novo local. Neste primeiro exemplo, não há nenhuma razão para fazer uma cópia do banco de dados, portanto informamos que não usaremos essa opção.

Como podemos ver, toda a informação sobre a conexão ao banco de dados que criamos foi salva em uma string de conexão. Para efeitos de segurança, é uma boa idéia salvar a string de conexão em um arquivo de configuração em lugar de codificá-la manualmente no programa.

O banco de dados que estamos conectando poderá ter um número enorme de consultas, tabelas, colunas dentro dessas tabelas, e assim por diante. Para gerenciar um pouco dessa complexidade, o Visual Studio permite escolher quais partes do banco de dados serão exibidas no IDE. Selecionaremos a tabela Suppliers (Fornecedores) inteira e as colunas ProductName, SupplierID, QuantityPerUnit e UnitPrice da tabela Products (Produtos), como mostra a Figura 2. Finalmente, clicamos Finish para encerrar o assistente.

 

 

 image001.gif

Figura 2. Escolhendo as tabelas

Documentos ligados a dados

A janela Data Sources contém agora uma entrada para o NorthwindDataSet. Expandimos os nodes na treeview. Há algumas coisas interessantes aqui. Em primeiro lugar, o Visual Studio descobriu, analisando o banco de dados, que a tabela Products tem uma relação com a tabela Suppliers - a tabela Products aparece tanto como uma tabela quanto como um nó filho da tabela Suppliers. Isso nos permitirá criar mais facilmente visões mestre-detalhe.

Note que as colunas possuem ícones que, quando arrastados para a planilha, criarão um objeto do tipo named range. O padrão para uma coluna é um named range e o padrão para uma tabela inteira é um objeto List, mas podemos escolher outros controles clicando o item e selecionando uma opção no dropdown. Outra característica poderosa das ferramentas Visual Studio para o Office, é que podemos de fato colocar controles Windows Forms, tal como um ComboBox, em um documento Word ou Excel e fazer o data bind. Suponha querer ter um ComboBox ligado a CompanyName, por exemplo. Poderíamos escolher ComboBox do dropdown como o controle a ser usado para CompanyName, como mostrado na Figura 3.

 

image002.gif

 

Figura 3. Escolhendo o tipo de controle

Colocamos CompanyName como um ComboBox, ContactName como uma named range e a tabela Products inteira na planilha. Usamos a tabela Products que é filha da tabela Suppliers no treeview e teremos uma agradável visão mestre-detalhe.

Note que alguns componentes aparecem na parte inferior do designer: um DataSet, dois binding sources e dois table adapters. Mais adiante, entraremos em detalhes quanto a esses componentes. Por enquanto, compilamos e rodamos a aplicação. Sem escrever uma única linha de código, obtivemos uma visão mestre-detalhe ligada a dados em uma planilha do Excel. Quando selecionarmos itens diferentes do ...

Quer ler esse conteúdo completo? Tenha acesso completo