report viewer com parametros
29/02/2012
0
galera to com um problema na geração de um relatório com parametros, eu sei que posso utilizar o wizard
e add um dataset para montar um relatório no reportviewer mas gostaria de montar um apenas com base
em parametros passados de uma consulta como demonstra o codigo abaixo:
With conn
.ConnectionString = Data Source=FERNANDO-DELL\SQLSERVER;Initial Catalog=50minutos;Integrated Security=True
.Open()
End With
strSQL = Select nomeClie, endClie, telClie from Cliente
dtSet = New DataTable
dtAdapter = New SqlDataAdapter(strSQL, conn)
dtAdapter.Fill(dtSet)
conn.Close()
Dim parameters(2) As ReportParameter
For i = 0 To dtSet.Rows.Count - 1
parameters(0) = New ReportParameter(Nome, dtSet.Rows(i)(0).ToString)
parameters(1) = New ReportParameter(Endereco, dtSet.Rows(i)(1).ToString)
parameters(2) = New ReportParameter(Telefone, dtSet.Rows(i)(2).ToString)
Next
Me.ReportViewer1.LocalReport.SetParameters(parameters)
Me.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
Me.WindowState = 2
Me.ReportViewer1.RefreshReport()
no report.rldc eu adicionei 3 textbox e setei os parameters para eles, o problema é que estou obtendo
um resultado escalar no report, ou seja, os textbox apresentam apenas a ultima linha do meu data set
o contrario do que acontece quando eu trabalho com o table ou matrix e adiciono o dataset via wizard
nesse caso ele gera uma linha para cada registro no meu dataset, não sei se ficou claro, mas se
alguem puder dar uma força agradeço.
e add um dataset para montar um relatório no reportviewer mas gostaria de montar um apenas com base
em parametros passados de uma consulta como demonstra o codigo abaixo:
With conn
.ConnectionString = Data Source=FERNANDO-DELL\SQLSERVER;Initial Catalog=50minutos;Integrated Security=True
.Open()
End With
strSQL = Select nomeClie, endClie, telClie from Cliente
dtSet = New DataTable
dtAdapter = New SqlDataAdapter(strSQL, conn)
dtAdapter.Fill(dtSet)
conn.Close()
Dim parameters(2) As ReportParameter
For i = 0 To dtSet.Rows.Count - 1
parameters(0) = New ReportParameter(Nome, dtSet.Rows(i)(0).ToString)
parameters(1) = New ReportParameter(Endereco, dtSet.Rows(i)(1).ToString)
parameters(2) = New ReportParameter(Telefone, dtSet.Rows(i)(2).ToString)
Next
Me.ReportViewer1.LocalReport.SetParameters(parameters)
Me.ReportViewer1.SetDisplayMode(DisplayMode.PrintLayout)
Me.WindowState = 2
Me.ReportViewer1.RefreshReport()
no report.rldc eu adicionei 3 textbox e setei os parameters para eles, o problema é que estou obtendo
um resultado escalar no report, ou seja, os textbox apresentam apenas a ultima linha do meu data set
o contrario do que acontece quando eu trabalho com o table ou matrix e adiciono o dataset via wizard
nesse caso ele gera uma linha para cada registro no meu dataset, não sei se ficou claro, mas se
alguem puder dar uma força agradeço.
Fernando Borstmann
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)