Usuário com melhor resposta
metodo para mostrar report viewer C#

Pergunta
-
Galera, eu meio que traduzi o metodo mostrado pelo Laercio Freitas no seu webcast 1 para o C# (estava em VB), o problema que eu nao compreendi exatamente o que eh feito.
Mas em princípio funcionou, o relatorio eh gerado e mostrado tudo certo.
O problema eh que agora eu nao consigo mais fazer funcionar quando uso + de 1 tabela.
O método está dessa maneira:
SqlConnection sq = new SqlConnection(); sq.ConnectionString = @"Data Source=10.1.1.56\SQLEXPRESS;User ID=sa;Password=123456;Initial Catalog=BD_SCA;"; sq.Open(); SqlCommand com = new SqlCommand(); com.Connection = sq; com.CommandText = "SELECT [LOG].HORARIO, [LOG].ID_DESTINO, [LOG].TABELA, [LOG].ACAO,"+ " [LOG].DESCRICAO, OPERADOR.NOME FROM [LOG] INNER JOIN OPERADOR ON [LOG].ID_OPERADOR"+ "= OPERADOR.ID_OPERADOR"; SqlDataAdapter dt = new SqlDataAdapter(com); DataSet1 ds1 = new DataSet1(); //dataset com o tableadapter que eu criei la especificando os campos e tal qe me gerou a query colada a cima dt.Fill(ds1, "DataTable2"); //nome do datatable gerado pelo table adapter this.reportViewer1.RefreshReport();
Sei la nao funciona mais, se tiver algum metodo pronto em c# agradeço, ou se puderem me corrigir no que estou errando..
Att, Jefferson
Respostas
-
Jefferson,
Sim... Aparentemente está tudo OK... Provavelmente no load do seu form você está setando o DataSource do seu relatório como sendo esse seu DataSet1... E nesse outro local você está re-populando o DataSet1 com novos dados e dando um refresh no relatório... Tudo faz sentido... :)
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta JeffersonDF terça-feira, 11 de janeiro de 2011 13:40
Todas as Respostas
-
Jefferson,
Dê maiores detalhes... Não funciona mais? Apresenta algum erro ou o relatório é mostrado em branco? A única coisa que você alterou foi o CommandText?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -
Então André, o meu relatório funcionou com esse método:
SqlConnection sq = new SqlConnection(); sq.ConnectionString = @"Data Source=10.1.1.56\SQLEXPRESS;User ID=sa;Password=123456;Initial Catalog=BD_SCA;"; sq.Open(); SqlCommand com = new SqlCommand(); com.Connection = sq; com.CommandText = "SELECT [LOG].HORARIO, [LOG].ID_DESTINO, [LOG].TABELA, [LOG].ACAO,"+ " [LOG].DESCRICAO, OPERADOR.NOME AS OPERADOR FROM [LOG] INNER JOIN"+ " OPERADOR ON [LOG].ID_OPERADOR = OPERADOR.ID_OPERADOR"; SqlDataAdapter dt = new SqlDataAdapter(com); dt.Fill(DataSet1, "DataTable1"); this.reportViewer1.RefreshReport();
Este método está correto? Quero dizer, estou fazendo tudo que é preciso fazer para exibir o reportviewer? Pois aqui esta funcionando agora so preciso de uma confirmação.
Att, Jefferson
-
Jefferson,
Sim... Aparentemente está tudo OK... Provavelmente no load do seu form você está setando o DataSource do seu relatório como sendo esse seu DataSet1... E nesse outro local você está re-populando o DataSet1 com novos dados e dando um refresh no relatório... Tudo faz sentido... :)
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta JeffersonDF terça-feira, 11 de janeiro de 2011 13:40