alfinete 0 Denunciar post Postado Junho 9, 2008 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
quintelab 91 Denunciar post Postado Junho 9, 2008 Ao invés de utilizar um if para validar: if (dr2 != null) Utilize um while: while (dr2 != null) Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
alfinete 0 Denunciar post Postado Junho 9, 2008 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