filtrar datos de reporte - crystal report

5
 Filtrar Datos de Reporte - Crystal Report  jueves, 3 de en ero de 2013 Primeramente les deseo feliz año 2013 a todos los lectores de mi blog espero que este año este lleno de muchas bendiciones para todos. Quiero empezar este año con un ejemplo que es muy común y necesario a la hora de hacer reportes con crystal report, y es que cuando creamos reportes en ocasiones tenemos la necesidad de filtrar los datos por medio de uno o varios campos.  El ejemplo sera uno simple para que puedan entenderlo, la base de datos que usare para el ejemplo solo cuenta con 2 tablas Categoría y Articulo. Creamos un dataset(DsReporte) y agregamos 2 datatable que representaran las 2 tablas de la base de datos ademas le agregamos los ca mpos correspondiente de cada tabla y también indicamos el tipo de dato de cada campo. Importante que cada datatable tiene que llamarse como el nombre de la tabla en la base de datos y ademas tener los mismos campos y mismo tipo de dato que tienen en la base de datos. Translate Seleccionar idioma Datos personales Cristian Torres Soy estudiante de informática y me gusta mucho programar el lenguaje que mas domino es C#, pero también me gusta conocer sobre los demás lenguajes. Ver todo mi perfil Reconocimientos Microsoft Community Contributor (MCC) Etiquetas C# - vb.net  Asp.Net Entity Framework LINQ  jQyery JavaScript Java C++ Blog dedicado a diferentes lenguajes de programación. gi na pr inci pal contacto Filtrar Datos de Reporte - Crystal Report http://cristiantorresalfaro.blogspot.com/2013/01/filtrar-datos-de-reporte-c... 1 de 5 11/4/2014 2:51 PM

Upload: marbimon

Post on 04-Oct-2015

27 views

Category:

Documents


0 download

DESCRIPTION

Filtrar datos de Reporete Crystal Reports

TRANSCRIPT

  • Filtrar Datos de Reporte - Crystal Reportjueves, 3 de enero de 2013

    Primeramente les deseo feliz ao 2013 a todos los lectores de mi blog espero que este ao este

    lleno de muchas bendiciones para todos.

    Quiero empezar este ao con un ejemplo que es muy comn y necesario a la hora de hacer

    reportes con crystal report, y es que cuando creamos reportes en ocasiones tenemos la necesidad

    de filtrar los datos por medio de uno o varios campos.

    El ejemplo sera uno simple para que puedan entenderlo, la base de datos que usare para el

    ejemplo solo cuenta con 2 tablas Categora y Articulo.

    Creamos un dataset(DsReporte) y agregamos 2 datatable que representaran las 2 tablas de la

    base de datos ademas le agregamos los campos correspondiente de cada tabla y tambin

    indicamos el tipo de dato de cada campo. Importante que cada datatable tiene que llamarse como

    el nombre de la tabla en la base de datos y ademas tener los mismos campos y mismo tipo de dato

    que tienen en la base de datos.

    Translate

    Seleccionar idioma

    Datos personales

    Cristian Torres

    Soy estudiante de informtica y me

    gusta mucho programar el lenguaje

    que mas domino es C#, pero tambin

    me gusta conocer sobre los dems

    lenguajes.

    Ver todo mi perfil

    Reconocimientos

    Microsoft Community Contributor (MCC)

    Etiquetas

    C# - vb.net

    Asp.Net

    Entity Framework

    LINQ

    jQyery

    JavaScript

    Java

    C++

    Blog dedicado a diferentes lenguajes de programacin.

    pgina principal contacto

    Filtrar Datos de Reporte - Crystal Report http://cristiantorresalfaro.blogspot.com/2013/01/filtrar-datos-de-reporte-c...

    1 de 5 11/4/2014 2:51 PM

  • Creamos el reporte usando el dataset que creamos(el reporte mostrara todos los articulos de

    nuestra base de datos).

    Ahora crearemos el cdigo que usaremos para llenar el dataset y mostrar los datos en el reporte

    as que agregamos una clase(modulo en el caso de vb) llamada Datos y agregamos el siguiente

    codigo.

    Python

    Sql Server

    Seguidores

    Google Friend Connect

    Miembros (88) Ms

    Ya eres miembro? Iniciar sesin

    Blog Archive

    2013 (2)

    febrero (1)

    enero (1)

    Filtrar Datos de Reporte - Crystal Report

    2012 (50)

    Visitantes

    Pginas vistas en total

    477,318

    Sigueme

    Seguir a @krizz_alfaro

    1234567

    public static DataTable CargarCategoria(){ using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings[ { DataTable dt = new DataTable(); string query = "SELECT * FROM Categoria"; SqlCommand cmd = new SqlCommand(query, cnn);

    ?

    Filtrar Datos de Reporte - Crystal Report http://cristiantorresalfaro.blogspot.com/2013/01/filtrar-datos-de-reporte-c...

    2 de 5 11/4/2014 2:51 PM

  • El metodo CargarCategoria() obtiene todos los datos de la tabla categora en un datatable.

    El metodo CargarArticulos() llena el dataset con los datos de la tabla articulos.

    El metodo FiltrarArticulos() tambin llena el dataset con los datos de la tabla artculos pero a

    diferencia del anterior este los llena aplicando un filtro que en este caso es por medio del campo

    CatId.

    Ahora programaremos el cdigo que tendr nuestro Form.

    89101112131415161718192021222324252627282930313233343536373839

    SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); return dt; }} public static DsReporte CargarArticulos(){ DsReporte ds = new DsReporte(); using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings[ { string query = "SELECT * FROM Articulo"; SqlCommand cmd = new SqlCommand(query, cnn); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds, "Articulo"); return ds; }} public static DsReporte FiltrarArticulos(int categoria){ DsReporte ds = new DsReporte(); using (SqlConnection cnn = new SqlConnection(ConfigurationManager.ConnectionStrings[ { string query = "SELECT * FROM Articulo WHERE CatId=@cat"; SqlCommand cmd = new SqlCommand(query, cnn); cmd.Parameters.AddWithValue("@cat", categoria); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(ds, "Articulo"); return ds; }}

    12345678910111213141516171819202122232425262728293031323334

    Public Function CargarCategoria() As DataTable Using cnn As New SqlConnection(ConfigurationManager.ConnectionStrings( Dim dt As New DataTable() Dim query As String = "SELECT * FROM Categoria" Dim cmd As New SqlCommand(query, cnn) Dim da As New SqlDataAdapter(cmd) da.Fill(dt) Return dt End UsingEnd Function Public Function CargarArticulos() As DsReporte Dim ds As New DsReporte() Using cnn As New SqlConnection(ConfigurationManager.ConnectionStrings( Dim query As String = "SELECT * FROM Articulo" Dim cmd As New SqlCommand(query, cnn) Dim da As New SqlDataAdapter(cmd) da.Fill(ds, "Articulo") Return ds End Using End Function Public Function FiltrarArticulos(ByVal categoria As Integer) As DsReporte Dim ds As New DsReporte() Using cnn As New SqlConnection(ConfigurationManager.ConnectionStrings( Dim query As String = "SELECT * FROM Articulo WHERE CatId=@cat" Dim cmd As New SqlCommand(query, cnn) cmd.Parameters.AddWithValue("@cat", categoria) Dim da As New SqlDataAdapter(cmd) da.Fill(ds, "Articulo") Return ds End UsingEnd Function

    12345678910

    private void Form1_Load(object sender, EventArgs e){ comboBox1.DataSource = Datos.CargarCategoria(); comboBox1.DisplayMember = "CatNombre"; comboBox1.ValueMember = "CatId"; comboBox1.SelectedIndex = -1; DsReporte datos = Datos.CargarArticulos(); CrpReporte report = new CrpReporte();

    ?

    ?

    Filtrar Datos de Reporte - Crystal Report http://cristiantorresalfaro.blogspot.com/2013/01/filtrar-datos-de-reporte-c...

    3 de 5 11/4/2014 2:51 PM

  • En el evento Load cargamos las categorias en un combobox y tambien cargamos en el reporte

    todos los artculos.

    En el evento SelectionChangeCommitted del combobox cargamos los datos en el reporte

    dependiendo la categora seleccionada en el combobox, asi cada vez que el usuario seleccione

    una categora del combobox los datos del reporte solo mostraran los artculos que pertenecen a la

    categora seleccionada.

    Eso es todo espero les sirva mucho saludos desde El Salvador...

    Descargar Proyecto C#

    Descargar Proyecto VB.Net

    11121314151617181920212223

    report.SetDataSource(datos); crystalReportViewer1.ReportSource = report; } private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e){ DsReporte datos = Datos.FiltrarArticulos(Convert.ToInt32(comboBox1.SelectedValue)); CrpReporte report = new CrpReporte(); report.SetDataSource(datos); crystalReportViewer1.ReportSource = report;}

    1234567891011121314151617181920

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) ComboBox1.DataSource = Datos.CargarCategoria() ComboBox1.DisplayMember = "CatNombre" ComboBox1.ValueMember = "CatId" ComboBox1.SelectedIndex = -1 Dim da As DsReporte = Datos.CargarArticulos() Dim report As New CrpReporte() report.SetDataSource(da) CrystalReportViewer1.ReportSource = reportEnd Sub Private Sub ComboBox1_SelectionChangeCommitted(ByVal sender As System.Object Dim da As DsReporte = Datos.FiltrarArticulos(Convert.ToInt32(ComboBox1.SelectedValue)) Dim report As New CrpReporte() report.SetDataSource(da) CrystalReportViewer1.ReportSource = reportEnd Sub

    ?

    Filtrar Datos de Reporte - Crystal Report http://cristiantorresalfaro.blogspot.com/2013/01/filtrar-datos-de-reporte-c...

    4 de 5 11/4/2014 2:51 PM

  • Entrada ms reciente Entrada antigua

    Publicado por Cristian Torres en 8:27

    Etiquetas: C Sharp

    0 comentarios:

    Publicar un comentario en la entrada

    Nota: solo los miembros de este blog pueden publicar comentarios.

    Comentar como:

    Publicar

    Pgina principal

    Copyright 2011 Cristian Torres. Free Blogspot Templates by Blogger Templates. Photography Logos. Css by csstemplatesmarket

    Enviar por correo electrnico

    Escribe un blog

    Compartir con Twitter

    Compartir con Facebook

    Filtrar Datos de Reporte - Crystal Report http://cristiantorresalfaro.blogspot.com/2013/01/filtrar-datos-de-reporte-c...

    5 de 5 11/4/2014 2:51 PM