C # Crystal Reports a partir de arquivo .xml Normalmente, estamos gerando o Crystal Reports a partir de um database, aqui na secao a seguir descreve como criar um Crystal reports apartir de arquivo um XML em C #. Isto e muito semelhante a criacao do Crystal Reports a partir de banco de dados, a unica diferenca e que voce tem que selecionar a data source como o arquivo XML no momento da concepcao Crystal Report em C #.A fim de gerar Crystal Report a partir do arquivo XML, nos temos que criar um arquivo XML.Aqui nos vamos criar um arquivo XML e nomeie como product.xml . A estrutura do arquivo product.xml e o mesmo que a tabela Product no banco de dados crystaldb . O conteudo do product.xml e mostrada abaixo.Gerando Crystal Report do arquivo XML e muito semelhante para a geracao de bancos de dados Crystal Report. A unica diferenca e que quando voce selecionar a parte datasource.Aqui voce tem que selecionar Create New Connection - Arquivos de Banco de Dados e selecionar o arquivo XML que voce deseja gerar o Crystal Reports (Neste caso, voce seleciona o product.xml).Selecione todos os campos do produto e clique no botao FINISH.inclua os namespaces do exercicio anterior e copie e cole o seguinte codigo :using System;using System.Windows.Forms;using CrystalDecisions.CrystalReports.Engine;using CrystalDecisions.Shared;namespace WindowsApplication1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { ReportDocument cryRpt = new ReportDocument(); cryRpt.Load(PUT CRYSTAL REPORT PATH HERE\\CrystalReport1.rpt"); crystalReportViewer1.ReportSource = cryRpt; crystalReportViewer1.Refresh(); } }} Iremos agora falar sobre Crystal C# sub-relatorios :Sub-relatorio no Crystal Reports significa um relatorio dentro de um Crystal Report. Quando queremos mostrar algumas informacoes adicionais sobre um campo de dados em uma linha Crystal Reports, usamos os recursos sub-relatorios para mostrar os detalhes. Nos podemos mostrar sub relatorio de duas maneiras, a primeira maneira e mostrar diretamente sob os detalhes da linha principal. O outro metodo e mostrar como C # Relatorios Cristal on demand sub-relatorios , isso significa que nos colocamos um Hiper link logo abaixo da linha arquivada, e quando o usuario clicar nesse hyper link ele vai mostrar o sub-relatorio. Nesta secao nos vamos gerar um sub-relatorio sobre os detalhes da linha principal.Aqui nos vamos criar um relatorio de ordem baseada em tres tabelas no banco de dados e mostrar um sub-report para cada campo de linha de nome do produto.Crie um Crystal Reports usando tres tabelas e selecione customername , date , product e qty .Proximo passo e criar um sub-report dentro do relatorio principal.Apos criar o relatorio principal, clique com o botao direito sobre a janela Crystal Reports designer e selecione Insert->Subreport.Entao voce vai ter o objeto sub-report, arraste o objeto na janela de designer na parte de baixo da aba detalhes, logo abaixo os campos na guia detalhes. Quando voce soltar o mouse voce vai ter uma caixa de dialogo pedindo nome do relatorio. Digite um nome de relatorio e clique no botao Report Wizard Button .O assistente mostra a tela de selecao da tabela e selecione a tabela. Aqui, neste caso,