PROBLEMAS COM REPORT VIEWER
PESSOAL ESTOU TENTANDO FAZER UM RELATORIO NO REPORT VIEW NO C# ..
FIZ ELE PELO DATASET.. CRIEI UM DATASET FIZ A QUERY LA E CRIEI O TABLE ADAPTER .!
FIZ TUDO DIREITINHO ([Ô]AO QUE PARECE[Ô])RSRS.
PORéM EU COLOQUEI A CONDIÇÃO WHERE .... OU SEJA . O USUARIO DEVE INFORMAR O NUMERO DO PEDIDO PARA ELE IMPRIMIR NA TELA O ORDEM DE PEDIDO DO RAPAZ..!!
MAIS COMO EU PASSO ESSE PARAMETRO NO RELATORIO ..
O ERRO QUANDO EU VOU COMPILAR EH O SEGUINTE
No overload for method [Ô]Fill[Ô] takes 1 argument.
FIZ ELE PELO DATASET.. CRIEI UM DATASET FIZ A QUERY LA E CRIEI O TABLE ADAPTER .!
FIZ TUDO DIREITINHO ([Ô]AO QUE PARECE[Ô])RSRS.
PORéM EU COLOQUEI A CONDIÇÃO WHERE .... OU SEJA . O USUARIO DEVE INFORMAR O NUMERO DO PEDIDO PARA ELE IMPRIMIR NA TELA O ORDEM DE PEDIDO DO RAPAZ..!!
MAIS COMO EU PASSO ESSE PARAMETRO NO RELATORIO ..
O ERRO QUANDO EU VOU COMPILAR EH O SEGUINTE
No overload for method [Ô]Fill[Ô] takes 1 argument.
Ao usar o ReportViewer, é mais aconselhável que você envie o DataSet á ele, quando em tempo de execução, caso seja necessário filtragem ou reordenação dos dados. A Microsoft disponibiliza um [Ô]snippet[Ô] (fragmento de código) que pode ser aplicado sem grande dificuldade para esse fim. Não lembro muito bem, mas vou tentar reproduzir. Segue:
Se você preferir, pode criar uma sub pública e mais genérica, passando como parâmetros, a string de conexão, a instrução SQL, o nome do DataSet e o ReportViewer.
Espero que ajude.
Using Microsoft.Reporting.WinForms;
[ô]...
private void CarregaDadosNoReport()
{
//Montagem do conector
DataSet ds = new DataSet();
using (SqlDataAdapter strDa = new SqlDataAdapter([Ô]Sua consulta SQL vai aqui[Ô], [Ô]Sua string de conexão vai aqui[Ô])) {
strDa.Fill(ds);
}
// Definir o objeto ReportDataSource
ReportDataSource ReportDataSource2 = new ReportDataSource();
this.ReportViewer1.LocalReport.DataSources.Clear();
// Mapear a tabela do DataSet criado acima como fonte de dados de base.
ReportDataSource2.Value = ds.Tables[0];
// Como o arquivo rldc foi gerado automaticamente, o nome do dataset deve ser o padrão (DataSet1), assim:
ReportDataSource2.Name = [Ô]DataSet1[Ô];
// Atribuir o novo DataSource ao Report:
ReportViewer1.LocalReport.DataSources.Add(ReportDataSource2);
this.ReportViewer1.RefreshReport();
}
[ô]...
Se você preferir, pode criar uma sub pública e mais genérica, passando como parâmetros, a string de conexão, a instrução SQL, o nome do DataSet e o ReportViewer.
Espero que ajude.
Faça seu login para responder