Array
(
)

Passando textbox por parametros e gerando um relatorio reportview

Sigrids Lima
   - 02 mai 2012

Ola possuo uma aplicação com varias textbox e gostaria de passar elas por parametros para serem geradas em reportview.
Conseguir colocar somente em uma textbox com parametros, mais as outras nao.
Codigo do form1 que tem as textbox:
namespace InfoRecibo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Relatorio frm = new Relatorio(textBox1.Text);
frm.Show();
}

}
}
o form1 possui 5 textbox
Codigo do report view que seta os parametros e pega os valores das textboxs
namespace InfoRecibo
{
public partial class Relatorio : Form
{
public Relatorio(string Dados)
{
InitializeComponent();
//seta o arquivo RDl
reportViewer1.LocalReport.ReportEmbeddedResource = InfoRecibo.rptDados.rdlc;

//setando os parametro
Microsoft.Reporting.WinForms.ReportParameter[] p = new Microsoft.Reporting.WinForms.ReportParameter[5];
p[0] = new Microsoft.Reporting.WinForms.ReportParameter(Dados, Dados);
p[1] = new Microsoft.Reporting.WinForms.ReportParameter(Valor, Dados);
reportViewer1.LocalReport.SetParameters(p);
}

private void Relatorio_Load(object sender, EventArgs e)
{
this.reportViewer1.RefreshReport();
}
private void Relatorio_FormClosing(object sender, FormClosingEventArgs e)
{
reportViewer1.LocalReport.ReleaseSandboxAppDomain();
}

}
}
O rdlc possui

Sigrids Lima
   - 02 mai 2012


Citação:
Ola possuo uma aplicação com varias textbox e gostaria de passar elas por parametros para serem geradas em reportview.

Conseguir colocar somente em uma textbox com parametros, mais as outras nao.

Codigo do form1 que tem as textbox:

namespace InfoRecibo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
Relatorio frm = new Relatorio(textBox1.Text);
frm.Show();

}

}
}

o form1 possui 5 textbox

Codigo do report view que seta os parametros e pega os valores das textboxs

namespace InfoRecibo
{
public partial class Relatorio : Form
{
public Relatorio(string Dados)
{
InitializeComponent();

//seta o arquivo RDl
reportViewer1.LocalReport.ReportEmbeddedResource = InfoRecibo.rptDados.rdlc;

//setando os parametro
Microsoft.Reporting.WinForms.ReportParameter[] p = new Microsoft.Reporting.WinForms.ReportParameter[5];
p[0] = new Microsoft.Reporting.WinForms.ReportParameter(Dados, Dados);
p[1] = new Microsoft.Reporting.WinForms.ReportParameter(Valor, Dados);
p[2] = new Microsoft.Reporting.WinForms.ReportParameter(Nome, Dados);
p[3] = new Microsoft.Reporting.WinForms.ReportParameter(Servico, Dados);
p[4] = new Microsoft.Reporting.WinForms.ReportParameter(Empresa, Dados);
reportViewer1.LocalReport.SetParameters(p);

}

private void Relatorio_Load(object sender, EventArgs e)
{

this.reportViewer1.RefreshReport();
}

private void Relatorio_FormClosing(object sender, FormClosingEventArgs e)
{
reportViewer1.LocalReport.ReleaseSandboxAppDomain();

}

}
}

O rdlc possui 5 parametros
Quando gero o relatorio so aparecem os valores da textBox1,

Aguardo

Joel Rodrigues
   - 02 mai 2012

De fato só aparecem os valores do TextBox1, pois você só passa esse valor como parâmetro. Basta alterar o constructor de seu form que atualmente está assim:
#Código

public Relatorio(string Dados)
{
//...
}


Para
#Código
public Relatorio(string Dados, string Valor, string Nome, string Servico, string Empresa)
{
//...
}


Deu pra sacar?

Sigrids Lima
   - 03 mai 2012

Blz, deu certo aqui, muito obrigado

Joel Rodrigues
   - 03 mai 2012

Disponha, fico feliz que tenha dado certo.
Boa sorte em seu projetos.