Como usar o Crystal Reports sem uma conexão de banco de dados intimamente vinculada?
Estou aprendendo a usar o Crystal Reports (com o VB 2005).
A maior parte do que eu vi até agora envolve a coleta de dados diretamente de um banco de dados, o que é bom se é tudo o que você deseja exibir no relatório.
Meu banco de dados tem muitas chaves estrangeiras, portanto, a maneira como tentei manter a integridade com a apresentação de informações reais no meu aplicativo é adicionar membros extras aos meus objetos que contêm cadeias de caracteres (descrições) do que as chaves estrangeiras representam. Gostar:
Class AssetIdentifier
Private ID_AssetIdentifier As Integer
Private AssetID As Integer
Private IdentifierTypeID As Integer
Private IdentifierType As String
Private IdentifierText As String
...
Aqui, IdentifierTypeID é uma chave estrangeira e eu procuro o valor em uma tabela diferente e o coloco em IdentifierType. Dessa forma eu tenho a descrição do texto no objeto e posso carregá-lo com as outras coisas.
Então, para a minha questão do Crystal Reports.
O Crystal Reports parece simplificar a conexão com registros em uma tabela específica (especialmente com os especialistas), mas isso é tudo que você recebe.
Idealmente, eu gostaria de fazer uma lista das minhas aulas, como
Dim assetIdentifiers as New List(Of AssetIdentifier)
e passar isso para um Crystal Report, em vez de fazer um link para um banco de dados específico, ter a maior parte do trabalho feito para mim, mas deixar que eu trabalhe em torno da parte que ele não faz. O mais próximo que eu posso ver até agora é um conjunto de dados do ADO.NET, mas mesmo isso parece muito distante. Eu já estou lidando com as consultas bem: eu tenho todos os tipos de funções que retornam List (de qualquer coisa) com base em consultas.
Existe uma maneira fácil de fazer isso?
Desde já, obrigado!
ATUALIZAR: OK, encontrei algo aqui:
http://msdn.microsoft.com/en-us/library/ms227595(VS.80).aspx
mas só parece dar essa capacidade para projetos da web ou aplicativos da web. Estou sem sorte se quiser me integrar a um aplicativo independente?