Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alfinete

crystal reports asp.net c# [problema]

Recommended Posts

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;

using CrystalDecisions.Enterprise;
using System.IO;

using System.Globalization;
using System.Threading;

namespace Sabatica
{
	public partial class reciboteste : System.Web.UI.Page
	{

		#region Objectos
		/*cria uma var do tipo recigopdf*/
		rec_teste  crReportDocument = new rec_teste();
	
  
		CrystalDecisions.Shared.ParameterField paramn;
		CrystalDecisions.Shared.ParameterField paramescola;
		CrystalDecisions.Shared.ParameterField paramgrau;
		CrystalDecisions.Shared.ParameterField paramdesigna;

		

		#endregion

		#region Web Form Designer generated code

		override protected void OnInit(EventArgs e)
		{
			base.OnInit(e);
		}

		#endregion


		#region Eventos

		private void Page_Load(object sender, System.EventArgs e)
		{
			Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("pt-PT");
			if (Session["user"] != null)
			{

				Load_Data();

			}
			else
				Response.Redirect("Default.aspx");


		}

		#endregion


		#region Métodos



		private void Load_Data()
		{

			MemoryStream oStream = new MemoryStream();

			InicializaReport(crReportDocument);
		  

			oStream = (MemoryStream)crReportDocument.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
			//oStream = (MemoryStream)crReportDocumenthabilit.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);

			Response.Clear();

			Response.Buffer = true;

			Response.ContentType = "application/pdf";

			Response.BinaryWrite(oStream.ToArray());

			Response.End();

		}




		//Funções Genéricas

		private void InicializaReport(ReportClass crReportDocument)
		{

			Dados d = new Dados();
			DataRow dr2;
		   DataTable   dt;
			dr2 = d.dados_sit_cand(Session["user"].ToString());
			dt = d.habilitacoes_academicas(dr2[0].ToString()); 

			crReportDocument.Load(@"\rec_teste.rpt");

			paramn = crReportDocument.ParameterFields["numero"];
			paramescola = crReportDocument.ParameterFields["escolaexerce"];
			paramgrau = crReportDocument.ParameterFields["grau"];
			paramdesigna = crReportDocument.ParameterFields["designa"];
   
			 // sit prof

			if (dr2 != null)
			{
				paramn.CurrentValues.AddValue("" + dr2[1].ToString());
				paramescola.CurrentValues.AddValue("" + dr2[7].ToString());


			}

			foreach (DataRow row in dt.Rows )
			{
			  paramgrau.CurrentValues.AddValue("" + dt.Rows[0][1].ToString()  );
			  paramdesigna.CurrentValues.AddValue(""+ dt.Rows[0][2].ToString());
			}
	  }




		#endregion
	   
	}
}

tenho este code para chamar um rpt(crystal reports ) oq ual chama bem

 

 

parametros normais

 

paramn - parametro nome

paramescola = parametro escola

 

 

parametros que são colunas de uma tabela

 

paramgrau

paramdesigna

 

estes dois o chamar no relatorio so mostram o primeiro row da tabela

e eu quero que mostre todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao invés de utilizar um if para validar:

if (dr2 != null)

Utilize um while:

while (dr2 != null)

Abraços...

 

brigada pelo help mas não esta a dar

 

o meu problema é no for each, pois ele so mostra o primeiro registo mesmo havendo mais

 

agradecia um help

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.