filtrar datos de reporte - crystal report
Post on 04-Oct-2015
29 Views
Preview:
DESCRIPTION
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
top related