Jump to content
Fórum Script Brasil
  • 0

DataSet tipado no crystal reports


Tiago_BB

Question

Ola pessoal, estou com dificuldades em exibir dados em um relatório do crystal reports através de um dataset com dois elementos.

Tenho um datatable principal com os seguintes dados:

NUMERO       NOME      DATA         LOCAL    NOTA
----------      --------    ---------      ---------  ----------
123456         Paulo      20100427    60000    111222
123456         Paulo      20100427    60000    222333
999998         Sandra    20100428    60800    888999
999998         Sandra    20100428    60800    999000
beleza, no crystal, agrupei pelo NUMERO e LOCAL e criei um dataset tipado com com um elemento com essas colunas etc... com isso o relatório ficou mais ou menos assim:
RELATÓRIO

Página 1

[b]Número[/b]: 123456

[b]Nome[/b]: Paulo
[b]Data[/b]: 27/04/10

[b]Local[/b]: 60000

[b]Notas[/b]:  [u]111222[/u]            [u]222333[/u]


Página 2

[b]Número[/b]: 999998

[b]Nome[/b]: Sandra
[b]Data[/b]: 28/04/10

[b]Local[/b]: 60800

[b]Notas[/b]:  [u]888999[/u]            [u]999000[/u]
beleza, esse espaço em branco entre as notas é porque pode ser de até 9 caracteres... o problema é: Para exibir as notas lado a lado esotu utilizando cross-tab, mas como exporto direto o relatório para .PDF, caso há até 8 notas aparece normalmente, porém, caso seja maior ultrapassa a margem e aparece uma página em branco sem as demais notas. Além de que: eu gostaria de exibir as notas da seguinte forma: 111222, 222333 etc... Qual minha idéia? Criei um outro datatable a partir do original, que me retorna as seguintes colunas, ou seja, as notas como desejo realmente, separadas por virgula etc:
NUMERO        LOCAL    NOTA
----------       ---------  ---------     
123456          60000     111222, 222333
999998          60800     888999, 999000
O que estou tentando fazer? No meu dataset, eu já tinha uma tabela (Elemento) com todos os dados do datatable principal... ...onde relacionei da seguinte forma no código vb:
Relatorio.Database.Tables("Tudo").SetDataSource(dtPrincipal)
Com isso, no meu dataset, criei um novo elemento "Notas", e coloquei as colunas do meu novo datatable (NUMERO, LOCAL e NOTA), inseri as PKs (NUMERO). Com isso atualizei o database fields, agora com as duas tabelas e inseri no campo Notas o campo NOTA da tabela "Notas" que era para possui as notas do meu novo datatable formatado (111222, 222333). Com isso o trecho do meu código vb ficou:
Relatorio.Database.Tables("Tudo").SetDataSource(dtPrincipal)
Relatorio.Database.Tables("Notas").SetDataSource(dtnovo)

Acontece que, quando gero o relatório, o campo Notas fica em branco!!! os demais aparecem menos o campo do meu novo elemento do dataset.

Inseri um breakpoint e o dtnovo esta com os dados correto, não entendo o porque não aparece no relatório!!!

O que pode ser?

Alguém tem alguma sugestão?

:blink:

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Tente isso...

Se os bancos de dados no Crystal estiverem em ordem, ele segue aquele indice.

Relatorio.Database.Tables(1).SetDataSource dtPrincipal, 3

Relatorio.Database.Tables(2).SetDataSource dtnovo,3

Espero que ajude..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...