Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/02/2012, 09:22
Avatar de stuart_david3
stuart_david3
 
Fecha de Ingreso: agosto-2011
Mensajes: 215
Antigüedad: 13 años, 5 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...