Me puede decir cuáles son los pasos para pasar parámetros a los informes de crystal 13 en C# ganar formulario..

mi código:

        //getting and set dataset to report   
        string sql = "select * from dbo.Trading_Order";
        DataRetriever dr = new DataRetriever();
        dr.getValueFromCustomer(sql);
        DataTable dtSum = dr.getDataTable();
        dsMyReprt k = new dsMyReprt();
        k.Tables.Remove("dtMyTable");
        dtSum.TableName = "dtMyTable";
        k.Tables.Add(dtSum);
        CrystalReport1 myDataReport = new CrystalReport1();

        //pass parameter

        ParameterFields paramFields = new ParameterFields();
        //ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();

        ParameterField paramField = new ParameterField();
        ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
        paramField.Name = "@DTotal";
        paramDiscreteValue.Value = tot;
        paramField.CurrentValues.Add(paramDiscreteValue);
        paramFields.Add(paramField);

        paramField = new ParameterField(); 
        paramDiscreteValue = new ParameterDiscreteValue(); 
        paramField.Name = "@name";
        paramDiscreteValue.Value = name;
        paramField.CurrentValues.Add(paramDiscreteValue);
        paramFields.Add(paramField);

        crystalReportViewer1.ParameterFieldInfo = paramFields;

        myDataReport.SetDataSource(k);
        crystalReportViewer1.ReportSource = myDataReport;

la obtención y el conjunto de conjunto de datos es parte de trabajo
pero la aprobación de los parámetros de la parte no está funcionando

Lo que no está trabajando al respecto? Lo has intentado?
gleng : medio de Trabajo, me hv añadido de que mi conjunto de datos de las columnas de la tabla a mi informe de crystal, y se mostrará cuando en la carga. pero después traté de pasar el parámetro no es un error «El Parámetro es incorrecto»..
No hay un «SetParameterValue» método en el objeto de informe?
Qué quiere decir esto? myDataReport.SetParameterValue(«@Total», 120000); myDataReport.SetParameterValue(«@nombre», «Nipun»); también he probado esto, pero no es el mismo error de llamar «El Parámetro es incorrecto»
Qué necesito para hacer cualquier cambio en CrystalReport1.archivo rpt?

OriginalEl autor Nipun | 2013-11-12

3 Comentarios

  1. 6

    Tengo muchos dolores de cabeza con que durante semanas… tengo que precisa que me puse una consulta sql en el Diseñador de Crystal Reports. Por lo tanto, yo no lo uso una tabla de datos como lo hizo, por lo que debes tener en cuenta que.

    Bien, @campagnolo_1 sugiere :

    ReportDocument myDataReport = new ReportDocument();
    myDataReport.Load(@"C:\Reports\Report.rpt");
    
    myDataReport.SetParameterValue("MyParameter1", "Hello1");
    myDataReport.SetParameterValue("MyParameter2", "Hello2");
    myDataReport.SetParameterValue("MyParameter3", "Hello3");

    Esta es la breve y dulce de la solución. Pero, después de esto, usted tiene que asegurarse de que usted ha creado MyParameter1, MyParameter2 y MyParameter3de tipo String en el Diseñador de Crystal Reports.

    1. Es importante mencionar que tienes que Cargar el informe antes de establecer sus parámetros con SetParameterValue.

    2. Si el nombre del parámetro es MyParameter1, entonces no hay que añadir un @ frente como este :

      myDataReport.SetParameterValue(«@MyParameter1», «Hello1»); //El programa se bloqueará.

    3. Si tienes The parameter is incorrect entonces usted debe asegurarse de que el tipo de parámetro valor que usted le dio es exactamente el mismo que el tipo de parámetro. Por ejemplo, si usted tiene un parámetro StartDate como tipo Fecha, a continuación, asegúrese de que el valor que le voy a dar es de tipo Fecha y tiene el derecho de formato de fecha.

    También, usted ha hablado acerca de la dinámica o estática de campo. En tu caso, creo que introducir los valores manualmente, entonces este es el campo estático.

    Espero que esto ayude.

    Gracias 3 años más tarde, busqué en google SetParameterValue accidente y se encontró que no se debe poner la @ delante del parámetro (punto 2). Gracias!

    OriginalEl autor Gabriel L.

  2. 0

    ¿Por qué no hacerlo de esta manera para ahorrar un poco de codificación?

    ReportDocument myDataReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();
    myDataReport.Load(@"C:\Reports\Report.rpt");
    
    myDataReport.SetParameterValue("MyParameter1", "Hello1");
    myDataReport.SetParameterValue("MyParameter2", "Hello2");
    myDataReport.SetParameterValue("MyParameter3", "Hello3");
    No.. Es pedir para introducir valores de parámetro después de ejecutar el programa.. necesito hacer cambios en CrystalReport1.archivo rpt?
    Usted tiene que asegurarse de que los nombres de los parámetros se escriben exactamente de la manera que están en el informe.
    Sí mismo.Necesito cambiar ese valor de tipo estático o dinámico ? Y necesito cambiar cualquier campo de fórmula?

    OriginalEl autor campagnolo_1

Dejar respuesta

Please enter your comment!
Please enter your name here