Pergunta

Alguém já foi capaz de usar uma coleção gerado SubSonic como um "objeto de fonte de dados de negócios" com o relatório Microsoft (rdlc)? I têm gerado o código de classe subsônico mas por alguma razão a janela de fonte de dados do relatório não está vendo a classe como um potencial fonte de dados objeto de coleção.

Existe algo que eu preciso fazer para que isso funcione?

Agradecemos antecipadamente ... vsdotnetguy

Foi útil?

Solução 3

Thx Chris e Adam,

Aqui está a resposta que eu encontrei.

No meu caso eu queria definir dinamicamente os principais e sub-relatório fontes de dados em tempo de execução usando as coleções de objetos SubSonic. No entanto, eu também quis projetar o layout do relatório usando arrastar e soltar das colunas de fonte de dados.

Mas eu era incapaz de criar o relatório usando drag & drop, porque nenhuma das minhas coleções SubSonic foram aparecendo No site Fontes de dados.

No entanto, mais tarde, enquanto eu estava fazendo uma ligação usando o controle ObjectDataSource controle, notei que agora meu coleções SubSonic estavam aparecendo na janela de DataSources site e eu poderia arrastar e soltar o layout do relatório.

Então, se você está ajustando dinamicamente os datasources relatório em tempo de execução e não estiver usando o controle ObjectDataSource já em seu projeto, você deve adicionar um controle ObjectDataSource fictício para uma de suas páginas aspx. Este, então, fazer as fontes de dados de objetos de negócios aparecer no designer de relatório.

Outras dicas

Eu tenho carregado relatórios Relatórios de Serviços de objetos de negócios antes (carregado via NHibernate - que não é exata, mas perto o suficiente por causa do argumento).

Alguns pontos-chave: 1. devolver os objetos na lista, mesmo se você está apenas retornando um objeto. 2. Você quer objetos Business Flat. Você pode ter que passar por uma transformação DTO para conseguir isso. Por plana, quero dizer a propriedade mais complexo que você pode ter em um objeto de negócios é uma cadeia e um número (int, decimal, double). Se você está esperando para pegar um valor como este: myObject.Customer.Name, esqueça. Criar uma propriedade CustomerName. 3. Se você precisar de dados de vários lugares tentar quebrar seus relatórios para sub-relatórios. Você chave fora da chave de fonte de dados para descobrir quais dados para retornar ao relatório.

Vou acrescentar mais como eu me lembro, tem sido alguns meses desde que eu fiz isso.

Sim, eu fiz isso, você só deve precisar para garantir que o projeto que contém os seus relatórios referências seu projeto SubSonic (obviamente :).

Às vezes eu também descobri que Visual Studio pode ficar um pouco borked e requerem uma reinicialização antes de repovoamento a janela de fonte de dados com SubSonic gerado objetos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top