terça-feira, 1 de novembro de 2011

Crystal Reports-(13)

Bem agora iremos aprender a usar Crystal reports sem um banco de dados,geralmente usamos um crystal reports para buscar dados de um banco de dados e mostrá-lo como um relatório,para gerar um banco de dados estamos usando aqui o Strongly Typed Dataset e a Data Table de C# .


Gerando Strongly Typed DataSet :
Crie um novo projeto C# e crie um dataset, PROJECT->ADD NEW ITEM->DATASET aceite o nome padrão :  Dataset1.xsd.


Criando uma tabela de dados para Dataset1.xsd em C#,Selecione Dataset1.xsd do Solution Explorer e clique direito. Selecione datatable no menu, então você vai ter uma tabela de dados na Dataset. Clique com o direito no datatable e selecione Add->column.
Aqui estamos fazendo Crystal Reports de 2 colunas, por isso precisamos de duas colunas na data table. Adicione a coluna ID e a coluna item na data table.
Agora a parte do dataset acabou . Próximo passo é criar um Crystal Reports a partir do dataset que criamos. Selecione um novo Crystal Reports a partir do menu Add New Item e aceite as configurações padrão. A próxima tela é para selecionar a data source apropriada. Lá você pode encontrar o DataTable1 a partir de Project Data->ADO.NET DataSets->DataTable1 e envie DataTable1 para o lado direito.
Clique no botão NEXT e selecione ID e Item da DataTable1 e envie para o lado direito depois clique em FINISH.
Agora  a parte de designer acabou, a próxima parte é criar dados para o Crystal Reports, Para isso temos que criar uma Data Table através de programação e adicionar dados ao DataSet1.
Selecione o formulário padrão (Form1.cs) que você criou em C # e arraste um button e um CrystalReportViewer ao seu formulário.
using System;
using System.Windows.Forms;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Data;

namespace WindowsApplication1
{
    Form1 public partial class: Form
    {

        public Form1 ()
        {
            InitializeComponent ();
        }

        private void Button1_Click (object sender, EventArgs e)
        {
            DataSet1 ds = new DataSet1 ();
            DataTable t = ds.Tables.Add ("Itens");
            t.Columns.Add ("id", Type.GetType ("System.Int32"));
            t.Columns.Add ("Item", Type.GetType ("System.String"));

            DataRow r;
            int i = 0;
            for (i = 0; i <= 9; i + +)
            {
                r = t.NewRow ();
                r ["id"] = i;
                r ["Item"] = "Item" + i;
                t.Rows.Add (r);
            }

            CrystalReport1 objRpt = new CrystalReport1 ();
            objRpt.SetDataSource (ds.Tables [1]);
            crystalReportViewer1.ReportSource = objRpt;
            crystalReportViewer1.Refresh (); 
        }
    }
}



.
             

Nenhum comentário:

Postar um comentário