Foros del Web » Programando para Internet » ASPX (.net) »

CrystalReports y parametros através de Textbox!!!

Estas en el tema de CrystalReports y parametros através de Textbox!!! en el foro de ASPX (.net) en Foros del Web. Hola a todos, necesito mucho de su ayuda!!!... Al pedirle a un CrystalReport que me genere los datos que le meto a un textbox me ...
  #1 (permalink)  
Antiguo 03/02/2012, 14:53
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Sonrisa CrystalReports y parametros através de Textbox!!!

Hola a todos, necesito mucho de su ayuda!!!...

Al pedirle a un CrystalReport que me genere los datos que le meto a un textbox me los vuelve a pedir al generarlo, en realidad nunca lee los datos que le meto al textbox, sino solamente los datos que le meto al crystal report, es decir, tengo un botón que al darle clic me genera un crystal report, que según yo debe de tomar los datos que le dejo a 2 textbox... Pero cuando me lanza el crystalreport me pide los parámetros de los textbox que se suponía había tomado e ignora totalmente lo que le deje en el textbox, la verdad me urge mucho... Y no tengo ni idea de que hacer... Les dejo mi código...

VB...
Código vb:
Ver original
  1. Imports CrystalDecisions.CrystalReports.Engine
  2. Imports System.Data
  3. Imports System.Data.SqlClient
  4. Imports CrystalDecisions.Shared
  5. Partial Class TextViewer
  6.     Inherits System.Web.UI.Page
  7.  
  8.     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.        
  10.         Dim parametros As New List(Of RouteParameter)
  11.  
  12.  
  13.         parametros.Add(New RouteParameter("rpe", Text_rpe.Text))
  14.  
  15.         parametros.Add(New RouteParameter("nombre", Text_nombre.Text))
  16.  
  17.  
  18.         Me.CRVAwiwi.ReportSource = Server.MapPath("TextViewer.rpt")
  19.  
  20.         Me.CRVAwiwi.RefreshReport()
  21.     End Sub
  22. End Class

ASP...
Código ASP:
Ver original
  1. <%@ Page Language="VB" AutoEventWireup="false" CodeFile="TextViewer.aspx.vb" Inherits="TextViewer" %>
  2.  
  3. <%@ Register assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" namespace="CrystalDecisions.Web" tagprefix="CR" %>
  4.  
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  6.  
  7. <html xmlns="http://www.w3.org/1999/xhtml">
  8. <head runat="server">
  9.     <title></title>
  10. </head>
  11. <body>
  12.     <form id="form1" runat="server">
  13.     <div>
  14.    
  15.         <asp:Button ID="Button1" runat="server" Text="Ver Reporte" />
  16.         <asp:TextBox ID="Text_rpe" runat="server"></asp:TextBox>
  17.         <br />
  18.         <br />
  19.         <asp:TextBox ID="Text_nombre" runat="server"></asp:TextBox>
  20.         <CR:CrystalReportViewer ID="CRVAwiwi" runat="server" AutoDataBind="true" />
  21.    
  22.     </div>
  23.     </form>
  24. </body>
  25. </html>

Agradezco mucho su ayuda!!!... Estoy medio desesperado :s...
  #2 (permalink)  
Antiguo 03/02/2012, 15:37
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: CrystalReports y parametros através de Textbox!!!

¿Cómo te va?
Pues, primero dejame decirte que he hecho un par de reportes con Crystal Reports con la particularidad que usaba un ReportClass que almacenaba en una sesión (lo se, algo poco eficiente) cuando necesitaba mostrar datos en el reporte que no eran parte de la data en la base utilizaba un (o varios) ParameterDiscreteValue, pero debían estar previamente definidos en el reporte. No pongo el código porque no se si es esto lo que deseas hacer.

Saludos...
  #3 (permalink)  
Antiguo 08/02/2012, 18:53
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Hola!!! Ahm, una pregunta ¿Cómo que previamente definidos en el reporte??... Bueno te diré lo que en resúmen trato de hacer, espero y en base a eso me pudieras ayudar nuevamente AWeswer... Tengo una página aspx en la que tengo varios textbox, solo intento pasar la información de dichos textbox a un reporte en CrystalReports, lo eh intentado solo con un textbox para ver como poder hacerlo pero no lo eh logrado, espero tu amable respuesta, y muchas gracias por la ayuda. Por cierto, disculpa la tardanza en contestar :s

Saludos...
  #4 (permalink)  
Antiguo 09/02/2012, 09:09
Avatar de AWesker  
Fecha de Ingreso: octubre-2008
Mensajes: 177
Antigüedad: 15 años, 6 meses
Puntos: 27
Respuesta: CrystalReports y parametros através de Textbox!!!

Bien, dejame ponerte este ejemplo, me decís si es lo que queres hacer:
Debo presentar un reporte de llegadas tardías de X empresa y para efectos de visualización y análisis debes delimitar el rango de fechas Desde y Hasta. Dichas fechas deben haber sido seleccionadas desde dos calendarios; entónces, en el Crystal Report creas dos Campos de parámetro (en la vista Informe principal): uno que se llame Desde y otro que se llame hasta Hasta y definis el tipo de datos (en este caso fecha). Cuando revisas la Vista previa del Informe Principal te aparece un cuandro en el que se te piden los valores de los Campos recien creados. Aquí es donde debes setear los ParameterDiscreteValue programáticamente.

¿Es lo que queres hacer?
  #5 (permalink)  
Antiguo 09/02/2012, 11:58
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Hola Awesker muchas gracias por tu respuesta. Pues no es eso, creo que es algo más sencillo y mira de hecho ya me salio una parte (ya es un avance :p)... Te cuento:

Tengo un página en .aspx en ella ingreso en un textbox la "ID" de un trabajador, al darle clic a un botón llamado "BtnMostrar" me genera todos los datos que necesito del mismo trabajador en diferentes textbox, por ejemplo: "Nombre" "Salario" "Puesto" (Todos ellos son del tipo textbox) lo que quiero es que mediante otro botón (llamémosle "BtnMostrar") me genere un crystal report con todos los datos de los textbox que me genero mi primer botón (BtnMostrar), en resúmen, es una copia del formulario.aspx a un crystal.rpt, solo diciéndole al botón que me pase el contenido de cada textbox a cada caja de texto dentro del crystal, ya me salio pasar un parámetro de un textbox así:

Código vb:
Ver original
  1. Imports CrystalDecisions.Web
  2. Imports CrystalDecisions.CrystalReports.Engine
  3. Imports CrystalDecisions.Shared
  4.  
  5. Partial Class NuevoText
  6.     Inherits System.Web.UI.Page
  7.  
  8.     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.         Dim param1Fileds As New CrystalDecisions.Shared.ParameterFields
  10.         Dim param1Field As New CrystalDecisions.Shared.ParameterField
  11.         Dim param1Range As New CrystalDecisions.Shared.ParameterDiscreteValue
  12.  
  13.  
  14.         param1Field.ParameterFieldName = "rpe" ' Parameter Name In Crystal Report
  15.        param1Range.Value = TextBox1.Text ' value For Parameter Field
  16.        param1Field.CurrentValues.Add(param1Range)
  17.         param1Fileds.Add(param1Field) ' To add parameter in parameterslist
  18.        CRVText.ParameterFieldInfo = param1Fileds 'to pass parameter inf.to CRV
  19.        Me.CRVText.ReportSource = Server.MapPath("TextViewer.rpt")
  20.  
  21.     End Sub
  22. End Class

Mi problema ocurre cuando lo implemento en mi formulario, verás tengo 3 botones: Mostrar (Mostrar los datos del trabajador), Limpiar(Limpiar el formulario) y Ver Reporte (Para ver el crystal)... Le paso un parámetro el cual tecleé y le doy a "Ver Reporte" y no hay problema. El problema ocurre cuando antes de darle "Ver Reporte" le doy a "Mostrar" y luego ahora sí a "Ver Reporte", ya que el Crystal me dice que requiere Información Adicional y me pide el campo del parámetro que yo ya había tecleado en mi textbox, esto ocurre cuando presiono antes el botón "Mostrar" que el de "Ver Reporte", pero la idea general es esa, primero Mostrar y luego Ver Reporte...
  #6 (permalink)  
Antiguo 09/02/2012, 12:01
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Ups, reenvie el mensaje sin querer :s...

Última edición por stuart_david3; 09/02/2012 a las 12:10
  #7 (permalink)  
Antiguo 10/02/2012, 09:22
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Ok, pues ya hice una cosa rara, uso el botón "Limpiar" para que al darle clic me redirreccione a la página del formulario, ya que me di cuenta que al volver a teclear la página (eso sin Actualizar, o apretar F5) puede puedo apretar el botón "Mostrar" y luego "Ver Reporte" y gracias a Dios si me envía los datos de mi textbox al Crystal Report =), el problema ocurre en que solo puedo enviar un solo parámetro que me acepta, los demás me los vuelve a pedir el Crystal aquí dejo un ejemplo de como intento mandar 3 parámetros pero solo me acepta el tercero y los demás me los vuelve a pedir...

Código vb:
Ver original
  1. Imports CrystalDecisions.Web
  2. Imports CrystalDecisions.CrystalReports.Engine
  3. Imports CrystalDecisions.Shared
  4.  
  5. Partial Class NuevoText
  6.     Inherits System.Web.UI.Page
  7.  
  8.     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  9.         Dim param1Fileds, param2Fileds, param3Fileds As New CrystalDecisions.Shared.ParameterFields
  10.         Dim param1Field, param2Field, param3Field As New CrystalDecisions.Shared.ParameterField
  11.         Dim param1Range, param2Range, param3Range As New CrystalDecisions.Shared.ParameterDiscreteValue
  12.  
  13.         param1Field.ParameterFieldName = "rpe"
  14.         param1Range.Value = TextBox1.Text
  15.         param1Field.CurrentValues.Add(param1Range)
  16.         param1Fileds.Add(param1Field)
  17.         CRVText.ParameterFieldInfo = param1Fileds
  18.         param2Field.ParameterFieldName = "nombre"
  19.         param2Range.Value = TextBox2.Text
  20.         param2Field.CurrentValues.Add(param2Range)
  21.         param2Fileds.Add(param2Field)
  22.         CRVText.ParameterFieldInfo = param2Fileds
  23.         param3Field.ParameterFieldName = "edad"
  24.         param3Range.Value = TextBox3.Text
  25.         param3Field.CurrentValues.Add(param3Range)
  26.         param3Fileds.Add(param3Field)
  27.         Me.CRVText.ReportSource = ("TextViewer.rpt")
  28.        
  29.     End Sub
  30. End Class

Tengo uno hecho en C# Pero quisiera saber como hacerlo en Visual Basic, aquí dejo el que esta en C# por si a alguien le sirve :p...

Código C:
Ver original
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using CrystalDecisions.CrystalReports.Engine;
  8. using CrystalDecisions.Shared;
  9.  
  10. public partial class OtroTextBox : System.Web.UI.Page
  11. {
  12.     protected void Page_Load(object sender, EventArgs e)
  13.     {
  14.  
  15.     }
  16.     protected void Button1_Click(object sender, EventArgs e)
  17.     {
  18.         ReportDocument rep = new ReportDocument();
  19.         rep.Load(Server.MapPath("CrystalText.rpt"));
  20.        
  21.         CrystalDecisions.Shared.ParameterDiscreteValue nombre = new ParameterDiscreteValue();
  22.         nombre.Value = TextBox1.Text;
  23.  
  24.         CrystalDecisions.Shared.ParameterDiscreteValue Edad = new ParameterDiscreteValue();
  25.         Edad.Value = TextBox2.Text;
  26.  
  27.         rep.ParameterFields[0].CurrentValues.Add(nombre);
  28.         rep.ParameterFields[1].CurrentValues.Add(Edad);
  29.  
  30.         this.CRVTexto.ReportSource = rep;
  31.         this.CRVTexto.DataBind();
  32.  
  33.     }
  34. }

Ojalá y me puedan ayudar... n_n...
  #8 (permalink)  
Antiguo 10/02/2012, 10:25
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Yaaaaaaaaaaaaaaaaaaaaaaaaaa gracias a Dios funcionó... n_n... Le puedo mandar más de 1 parámetro, es que estaba batallando con eso, si me genera el Crystal Report, al final opté por redireccionar la página con el botón "Limpiar", y con el código qu etengo arriba no lograba pasar más de un parámetro sin que me volviera a pedir el Crystal Report apartir de un segundo parámetro. Aquí les dejo un código que funciona para varios parámetros:

Código vb:
Ver original
  1. Imports CrystalDecisions.Web
  2. Imports CrystalDecisions.CrystalReports.Engine
  3. Imports CrystalDecisions.Shared
  4. Partial Class VariosText
  5.     Inherits System.Web.UI.Page
  6.  
  7.     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
  8.         Dim rep As ReportDocument = New ReportDocument
  9.         rep.Load(Server.MapPath("TextCrystal.rpt"))
  10.         Dim nombre As ParameterDiscreteValue = New ParameterDiscreteValue
  11.         nombre.Value = TextBox1.Text
  12.         Dim Edad As ParameterDiscreteValue = New ParameterDiscreteValue
  13.         Edad.Value = TextBox2.Text
  14.         rep.ParameterFields(0).CurrentValues.Add(nombre)
  15.         rep.ParameterFields(1).CurrentValues.Add(Edad)
  16.         Me.CRVTextBox.ReportSource = rep
  17.         Me.CRVTextBox.DataBind()
  18.        
  19.     End Sub
  20. End Class

Solo una pregunta, como le podré hacer para que por ejemplo al tener mi formulario, al darle clic al botón me generé mi crystal report en otra página... Es que tengo mi reportviewer en la misma página y si lo pongo en otra cómo podría pasarle los parámetros de mis textbox a una nueva página, espero haberme explicado, hasta yo mismo me revolví :s... Aquí dejo el código de mi página, espero que a alguien le sirva, espero y me puedan ayudar n_n...
  #9 (permalink)  
Antiguo 10/02/2012, 10:30
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Código ASP:
Ver original
  1. <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
  2.  
  3. <%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"
  4.     Namespace="CrystalDecisions.Web" TagPrefix="CR" %>
  5. <%@ Import Namespace="System.Data" %>
  6. <%@ Import Namespace="System.Data.SQLClient" %>
  7. <%@ Import Namespace="CrystalDecisions.Web" %>
  8. <%@ Import Namespace="CrystalDecisions.CrystalReports.Engine" %>
  9. <%@ Import Namespace="CrystalDecisions.Shared" %>
  10. <script language="vbscript" runat="server">
  11.     Protected Sub BtnVer_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  12.         Dim rep As ReportDocument = New ReportDocument
  13.         rep.Load(Server.MapPath("ReporteContratation.rpt"))
  14.         Dim rpe As ParameterDiscreteValue = New ParameterDiscreteValue
  15.         rpe.Value = Text_rpe.Text
  16.         Dim nombre As ParameterDiscreteValue = New ParameterDiscreteValue
  17.         nombre.Value = Text_nombre.Text
  18.         Dim fechaant As ParameterDiscreteValue = New ParameterDiscreteValue
  19.         fechaant.Value = Text_Feant.Text
  20.         Dim escolaridad As ParameterDiscreteValue = New ParameterDiscreteValue
  21.         escolaridad.Value = Text_Escolar.Text
  22.         rep.ParameterFields(0).CurrentValues.Add(rpe)
  23.         rep.ParameterFields(1).CurrentValues.Add(nombre)
  24.         rep.ParameterFields(2).CurrentValues.Add(fechaant)
  25.         rep.ParameterFields(3).CurrentValues.Add(escolaridad)
  26.         Me.CRVReemplazos.ReportSource = rep
  27.         Me.CRVReemplazos.DataBind()
  28.     End Sub
  29.    
  30.     Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  31.         Dim reader As SqlDataReader
  32.         Dim values As ArrayList = New ArrayList()
  33.         Dim conn As SqlConnection = New SqlConnection("server=myhost;database=mydb;User ID=myuser;Password=mypass;Trusted_Connection=no")
  34.         Dim Answer = Text_rpe.Text.ToString()
  35.        
  36.         Dim sql2 As String = "SELECT TOP 1 [extractor].[dbo].[b_traba1].rpe, [extractor].[dbo].[b_traba1].nombre, [extractor].[dbo].[b_traba1].fe_antre, [extractor].[dbo].[b_traba2].cl_escol, [extractor].[dbo].[l_escol].nivescol, [extractor].[dbo].[c_puesto].puesto, [extractor].[dbo].[b_traba1].cl_nides, [extractor].[dbo].[c_cencos].ds_cenco, [extractor].[dbo].[b_plazas].numplaza, [extractor].[dbo].[c_ubica].ubicapza, [extractor].[dbo].[b_contra].fe_inico, [extractor].[dbo].[b_contra].fe_terco, [extractor].[dbo].[b_contra].im_saltr, [extractor].[dbo].[c_cencos].cl_cenco, GETDATE() AS num, CASE WHEN grupo='A' THEN 10 WHEN grupo='B' THEN 11 WHEN grupo='C' THEN 12 WHEN grupo='D' THEN 13..."
  37.         Dim dr As New SqlCommand(sql2, conn)
  38.         conn.Open()
  39.         reader = dr.ExecuteReader()
  40.         If reader.Read() Then
  41.             Dim fecha = DateTime.Now
  42.             lblFecha.Text = fecha.ToShortDateString() + " " + fecha.ToShortTimeString()
  43.             Text_nombre.Text = CStr(reader("nombre")).ToString
  44.             Text_nombre.Attributes.Add("readonly", "readonly")
  45.             Text_nombre.BackColor = Drawing.Color.Silver
  46.             Text_Feant.Text = CStr(reader("fe_antre")).ToString
  47.             Text_Feant.Attributes.Add("readonly", "readonly")
  48.             Text_Feant.BackColor = Drawing.Color.Silver
  49.             Text_Escolar.Text = CStr(reader("nivescol")).ToString
  50.             Text_Escolar.Attributes.Add("readonly", "readonly")
  51.             Text_Escolar.BackColor = Drawing.Color.Silver
  52.             Text_Ingre2.Text = ("X").ToString
  53.             Text_Ingre2.Attributes.Add("readonly", "readonly")
  54.             Text_Ingre2.BackColor = Drawing.Color.Silver
  55.             Text_Puesto1.Text = CStr(reader("puesto")).ToString
  56.             Text_Puesto1.Attributes.Add("readonly", "readonly")
  57.             Text_Puesto1.BackColor = Drawing.Color.Silver
  58.             Text_GO1.Text = CStr(reader("orga")).ToString
  59.             Text_GO1.Attributes.Add("readonly", "readonly")
  60.             Text_GO1.BackColor = Drawing.Color.Silver
  61.             Text_Ceco1.Text = CStr(reader("ds_cenco")).ToString
  62.             Text_Ceco1.Attributes.Add("readonly", "readonly")
  63.             Text_Ceco1.BackColor = Drawing.Color.Silver
  64.             Text_ND1.Text = CStr(reader("cl_nides")).ToString
  65.             Text_ND1.Attributes.Add("readonly", "readonly")
  66.             Text_ND1.BackColor = Drawing.Color.Silver
  67.             Text_Plaza1.Text = CStr(reader("numplaza")).ToString
  68.             Text_Plaza1.Attributes.Add("readonly", "readonly")
  69.             Text_Plaza1.BackColor = Drawing.Color.Silver
  70.             Text_Ubica1.Text = CStr(reader("ubicapza")).ToString
  71.             Text_Ubica1.Attributes.Add("readonly", "readonly")
  72.             Text_Ubica1.BackColor = Drawing.Color.Silver
  73.             Text_Inic1.Text = CStr(reader("fe_inico")).ToString
  74.             Text_Inic1.Attributes.Add("readonly", "readonly")
  75.             Text_Inic1.BackColor = Drawing.Color.Silver
  76.             If IsDBNull((reader("fe_terco"))) Then
  77.                 Text_Terc1.Text = "nulo"
  78.                 Text_Terc1.BackColor = Drawing.Color.Silver
  79.                 Text_Sal1.Attributes.Add("readonly", "readonly")
  80.             Else
  81.                 Text_Terc1.Text = CStr(reader("fe_terco"))
  82.                 Text_Terc1.BackColor = Drawing.Color.Silver
  83.                 Text_Sal1.Attributes.Add("readonly", "readonly")
  84.             End If
  85.             Text_Sal1.Text = CStr(reader("im_saltr")).ToString
  86.             Text_Sal1.Attributes.Add("readonly", "readonly")
  87.             Text_Sal1.BackColor = Drawing.Color.Silver
  88.             Text_Clave1.Text = CStr(reader("cl_cenco")).ToString
  89.             Text_Clave1.Attributes.Add("readonly", "readonly")
  90.             Text_Clave1.BackColor = Drawing.Color.Silver
  91.             Text_Puesto2.Text = CStr(reader("puesto")).ToString
  92.             Text_Puesto2.Attributes.Add("readonly", "readonly")
  93.             Text_GO2.Text = CStr(reader("orga")).ToString
  94.             Text_GO2.Attributes.Add("readonly", "readonly")
  95.             Text_Ceco2.Text = CStr(reader("ds_cenco")).ToString
  96.             Text_Ceco2.Attributes.Add("readonly", "readonly")
  97.             Text_ND2.Text = CStr(reader("cl_nides")).ToString
  98.             Text_ND2.Attributes.Add("readonly", "readonly")
  99.             Text_Plaza2.Text = CStr(reader("numplaza")).ToString
  100.             Text_Plaza2.Attributes.Add("readonly", "readonly")
  101.             Text_Ubica2.Text = CStr(reader("ubicapza")).ToString
  102.             Text_Ubica2.Attributes.Add("readonly", "readonly")
  103.             Text_Sal2.Text = CStr(reader("im_saltr")).ToString
  104.             Text_Sal2.Attributes.Add("readonly", "readonly")
  105.             Text_Clave2.Text = CStr(reader("cl_cenco")).ToString
  106.             Text_Clave2.Attributes.Add("readonly", "readonly")
  107.             Text_Ingre1.BackColor = Drawing.Color.Silver
  108.             Text_rpe.BackColor = Drawing.Color.Silver
  109.             Text_rpe.Attributes.Add("readonly", "readonly")
  110.         Else
  111.             Text_Ingre1.Text = ("X")
  112.             Text_Ingre1.BackColor = Drawing.Color.Silver
  113.             Text_Ingre1.Attributes.Add("readonly", "readonly")
  114.             Text_Ingre2.BackColor = Drawing.Color.Silver
  115.             Text_Ingre2.Attributes.Add("readonly", "readonly")
  116.         End If
  117.         reader.Close()
  118.     End Sub
  119.    
  120.     Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
  121.         Response.Redirect("Default.aspx")
  122.     End Sub
  123.    
  124.  
  125. </script>
  126.  
  127. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  128.  
  129. <html xmlns="http://www.w3.org/1999/xhtml" >
  130. <head id="Head1" runat="server">
  131.    
  132.                 <td style="font-size: 7pt; width: 954px; font-family: Arial">
  133.                     Nueva Creación</td>
  134.                 <td style="width: 178px; font-size: 7pt; font-family: Arial;">
  135.                     &nbsp;&nbsp;
  136.                     <asp:TextBox ID="TextBox22" runat="server" Width="38px"></asp:TextBox></td>
  137.             </tr>
  138.             <tr>
  139.                 <td style="width: 584px; font-size: 7pt; font-family: Arial;">
  140.                     R.P.E.:<asp:TextBox ID="Text_rpe" runat="server" Width="173px" MaxLength="5"></asp:TextBox></td>
  141.                 <td style="width: 455px; font-size: 7pt; font-family: Arial;">
  142.                     Clave: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Adscripción:&nbsp;<br />
  143.                     <asp:TextBox ID="Text_Clave1" runat="server" Width="72px"></asp:TextBox>
  144.                     <asp:TextBox ID="Text_Ubica1" runat="server" Width="223px"></asp:TextBox></td>
  145.                 <td style="font-size: 7pt; width: 589px; font-family: Arial">
  146.                     Clave: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Adscripción:&nbsp;<br />
  147.                    
  148.         </span>
  149.         <br />
  150.     </div>
  151.     </form>
  152. </body>
  153. </html>

Borre una parte del código, solo era el diseño del formulario y una parte de mi consulta, es que el post no me permitía tantos carácteres :p...
Gracias de antemano...
  #10 (permalink)  
Antiguo 10/02/2012, 11:11
 
Fecha de Ingreso: mayo-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 3
Respuesta: CrystalReports y parametros através de Textbox!!!

Hola, e echo algunos reportes con crystal y enviado parametros al crystal, te paso la forma de como lo ajo espero te ayude... (soy un poco nuevo con esto de los reportes....)
Para generar el crystal report utiliso un dataset este con los campos que requiero en el reporte...(el crystal report en lugar de conectarlo a la base de datos, le agrego el dataset)
En una de tus repuestas vi que dices que lo que requieres es enviar la info consultada previamente en tu formulario desde un boton enviando el ID del trabajador.... podemos hacer un reporte que muestre esta info consultandola desde la base de datos y no enviandole como parametro, te pongo los pasos.....

Voy por pasos....
1.- Genero un dataSet con los campos que requiero mostrar en reporte.
2.- Creo un nuevo reporte en blanco, a este reporte le database expert le agregego el dataset que se creo. Realizas el formato de tu reporte y agregas los campos del dataset.

3.- Creo una pag (PageReports.aspx) donde pongo mi crystalreportview (crv) y crystalreporsource(crs). Al crv voy a su propiedad ReportSourceID y le agrego el crs.

4.- Codigo para mostrar el reporte.

4.1 codigo en tu formulario para enviar el id del trabajador y mandar llamar la pagina que contendra el reporte. etse en algun boton. btnMostrar

Código:
Dim id As String = "4000=" & lblIDregistro.Text
            Dim strURL As String = "PageReports.aspx?" & id
            If Not id = "" Then               
                Response.Redirect(strURL)
            End If
4.2 Codigo en load para obtener el idtrabajador y mandar llamar la funcion que mostrara el reporte.

LOAD
Código:
dim idTrab as string = Request.Params("4000")
Call show(idTrab)
FUNCION QUE GENERA EL REPORTE
Código:
Public Sub show(idTrabajador as string)
        Try
            Me.lblError.Text = ""

            'Se verifica que id tengan información
            If Not idTrabajador = "" Then

                '[Inicia proceso para mostrar reporte]
                sqlConn.ConnectionString = strConn

                cmd.Connection = sqlConn
'aki ponemos la consulta que me genera la info, la que tienes en tu boton para mostrar la informaicón del trabajador en tu formulario
                cmd.CommandText = "select * from trabajadores where ID=" & idTrabajador 
                cmd.CommandType = CommandType.Text

                da.SelectCommand = cmd
                da.Fill(ds, "trabajadores")
              
                strReportName = "CrystalReport.rpt"  'aki ponemos el nombre del reporte              
                'aki ago un mapeo para encontrar la ruta del reporte
                crs.Report.FileName = Server.MapPath("Reports\" & strReportName)
                crs.ReportDocument.SetDataSource(ds)         

                '-->Pasar el parametro, encaso de que si envies parametros aki los envias      
                Dim auditor As String = "*Firma, **Nombre, Puesto y Firma"
                pd.Value = auditor
                nParametro.Add(pd)

                Parametros = crv.ParameterFieldInfo
                Parametros(0).CurrentValues = nParametro

            Else
                lblError.Text = "No se ha especificado el id del trabajador."
            End If

        Catch ex As Exception
            'lblError.Text = ex.Message & ex.InnerException.Message
            lblError.Text = ex.Message
        End Try
    End Sub
en la pagina que contiene el reporte tiene que agregar algunos imports.
Código:
Imports Microsoft.VisualBasic
Imports System
Imports System.Configuration
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.Data
Imports System.Data.OleDb
variables que se utilizan en el codigo
Código:
 Private strConn As String = System.Configuration.ConfigurationManager.ConnectionStrings("SACSConnectionString").ConnectionString
    Private sqlConn As New OleDbConnection
    Private cmd As New OleDbCommand

    Private strReportName As String = ""
    Private da As New OleDbDataAdapter
    Private ds As New DataSet
    Private rpt As ReportDocument
    Dim nParametro As New ParameterValues
    Dim pd As New ParameterDiscreteValue
    Dim pf As New ParameterField
    Dim Parametros As ParameterFields
Espero te ayude, en caso de que no le ayes en alguna parte del codigo me mandas un correo...
hace poco tuve tu mismo problema asi que por algun lugar de mi compu debo tener los link con tutoriales de como hacer el reporte....si tienes algun problema los busco y te los paso....

Suerte....
  #11 (permalink)  
Antiguo 10/02/2012, 12:35
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Alaaaaa!!! Wow!!! Creo que lo que me dijiste lo ocuparé, ahm y creo que te tomaré la palabra con tus asesorías xD... Yo también soy nuevo, y bueno si yo te puedo ayudar en algo pues dime, trataré de corresponderte el favor n_n... Por ahora creo que probaré con los DataSet hasta este fin de semana, ya que tengo que terminar este proyecto o avanzarle lo más que pueda, procuraré hacer un reporte como el que mencionas y cualquier duda ocuparé de tu ayuda, muchas SantoOs, si puedes pasarme los tutoriales sería excelente, yo te mando un correo primero Dios... Gracias y hasta pronto, saludos!!!...
  #12 (permalink)  
Antiguo 10/02/2012, 13:22
Avatar de stuart_david3  
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: CrystalReports y parametros através de Textbox!!!

Una pregunta más, de casualidad no sabrán como pasar un parámetro de un textbox a otra página, esto para poder pasar mis textbox a una página nueva donde se encuentre mi reportviewer, ya que lo tengo colocado abajo de mi formulario y 2 cosas:

1. Al momento de querer guardar mi reporte me redirecciona a mi misma página y no me permite guardar mi crystal report.

2. No se ve muy presentable.

Agradezo mucho su ayuda. Siento que salgo de un problema, para meterme en otro :s...
  #13 (permalink)  
Antiguo 10/02/2012, 17:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 18
Antigüedad: 13 años
Puntos: 3
Respuesta: CrystalReports y parametros através de Textbox!!!

puedes pasar datos de una pag a otra utilisando la variable session...
pero si no son datos que se necesiten esconde los puedes pasar por la url... va el ejemplo
Código:
'aki cremos la variable '4000' y le agregamos el valor (un valor)
'Dim id As String = "4000=" & lblIDregistro.Text
'en caso de necesitar agregar mas valores le das lo sig.

'dos valores o mas
dim id as string = "4000=" & lblValor1.text & "&4001=" & lblValor2.text
'concatenamos la pag a donde vas a mandar los valores
Dim strURL As String = "PageReports.aspx?" & id

  If Not id = "" Then            
         'haces lo sig para mostrar la pagina
         Response.Redirect(strURL)
   End If
y en el load de la pag que vas a mostrar con lo sig tomas los valores
Código:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
       'tomamos los valores y los asignamos a una variable o puedes directamente a los txt
       Dim val1 as string = Request.Params("4000")
       Dim val2 as string = Request.Params("4001")
    
    End Sub
Espero te ayude....

Etiquetas: crystalreport, parametros, parametrosatextbox, sql, textbox, aspx
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:34.