02/05/2012

Passando textbox por parametros e gerando um relatorio reportview

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

Respostas

02/05/2012

Sigrids Lima

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
Responder Citar

02/05/2012

Joel Rodrigues

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:
public Relatorio(string Dados)
{
//...
}


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


Deu pra sacar?
Responder Citar

03/05/2012

Sigrids Lima

Blz, deu certo aqui, muito obrigado
Responder Citar

03/05/2012

Joel Rodrigues

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