none
Trabalhar sem DataSet RRS feed

  • Pergunta

  • Eu vi que em todos os seus exemplos eu vi que voce usa Dataset com tableAdapter para fazer a conexão com o banco.
    O problema é que eu uso SQL Server 2008 o tableAdapter não conecta no SQL 2008. Teria como fazer esses relatórios sem usar o dataSet? Teria algum exemplo para me mandar?

    Atenciosamente,

    Piero Silva Brito
    terça-feira, 26 de maio de 2009 17:52

Respostas

  • Você pode criar uma classe, neste exemplo se chamará sua_classe. Dentro desta classe crie as propriedades e variáveis para cada coluna da tabela de dados que necessita passar para o relatório. Utilize a Public Sub New para passar os parâmetros para cada propriedade.

    Em seguida, no form que form que for carregar os dados para o relatório, faça o seguinte:

    Dim fulano As New List(Of sua_classe)
     e pense em cada sua_classe como uma linha de dados, preenchendo a lista 'fulano' da seguinte forma:

    fulano.Add(New sua_classe(parametro1, ..., parametro_n)). 
    Defina o datasource do relatório:

    seu_relatorio.SetDatasource(fulano)
    Nos meus projetos estou praticamente abandonando o DataSet, só utilizo ainda em alguns CustomControls de busca que fiz, pois preciso usar a propriedade Filter do BindingSource. Meus relatórios feitos em crystal já estão todos neste formato.

    Espero ter sido útil.
    Henrique Clausing
    • Marcado como Resposta Piero Brito quinta-feira, 8 de abril de 2010 21:08
    quarta-feira, 8 de julho de 2009 00:25

Todas as Respostas

  • Você pode criar uma classe, neste exemplo se chamará sua_classe. Dentro desta classe crie as propriedades e variáveis para cada coluna da tabela de dados que necessita passar para o relatório. Utilize a Public Sub New para passar os parâmetros para cada propriedade.

    Em seguida, no form que form que for carregar os dados para o relatório, faça o seguinte:

    Dim fulano As New List(Of sua_classe)
     e pense em cada sua_classe como uma linha de dados, preenchendo a lista 'fulano' da seguinte forma:

    fulano.Add(New sua_classe(parametro1, ..., parametro_n)). 
    Defina o datasource do relatório:

    seu_relatorio.SetDatasource(fulano)
    Nos meus projetos estou praticamente abandonando o DataSet, só utilizo ainda em alguns CustomControls de busca que fiz, pois preciso usar a propriedade Filter do BindingSource. Meus relatórios feitos em crystal já estão todos neste formato.

    Espero ter sido útil.
    Henrique Clausing
    • Marcado como Resposta Piero Brito quinta-feira, 8 de abril de 2010 21:08
    quarta-feira, 8 de julho de 2009 00:25
  • Ola comofica isso em C#?

     

    abs

    sábado, 8 de maio de 2010 11:51
  • Bom, eu sou péssimo em C#, mas acho que fica mais ou menos assim:

    List<sua_classe> fulano = New List<sua_classe>;
    fulano.Add(New sua_classe(New sua_classe(parametro1, ..., parametro_n));
    seu_relatorio.SetDatasource(fulano);
    
    Faça o teste aí, se der errado me avise.
    Espero ter sido útil.

    Henrique Clausing
    segunda-feira, 10 de maio de 2010 14:11