Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tiago_BB

[Resolvido] DataSet tipado no crystal reports

Recommended Posts

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 é pq 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 ha 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 ja 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 pq não aparece no relatório!!!

 

 

O que pode ser?

 

 

Alguém tem alguma sugestão?

 

:huh:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Thiago não seria mais facil adicionar um campo Text no CR e adicionar as notas dentro dele?

Eu faço isso pra usar melhor o espaço.

Ou seja acrescento um textbox no CR e dentro deles adiciono as colunas que vem do DataSet, exe:

Nota 1: {Tabela.Coluna} Nota 2: {Tabela.Coluna2}, assim idependendo do espaço ele usa o que for necessário

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Ivan.

 

Esse textbox que você se refere... é o controle Text Object do crystal?

 

Se sim... não consigo inserir as colunas do meu dataset dentro dele!!

 

Eu "arrasto" as colunas em cima dele mas é como ficasse separados ainda!

 

atte.

 

Não entendi Ivan:

 

Nota 1: {Tabela.Coluna} Nota 2: {Tabela.Coluna2},

 

Eu posso ter N notas!!!

 

:mellow:

 

E não tenho textbox na toolbox do crystal!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola Ivan.. mas eu não consigo "jogar" os campos do meu dataset dentro do text object!

 

Alguma sugestão?

 

Obrigado pela ajuda! :D

 

Ivan, tentei implemnetar um subrelatório, mas no meu caso não vai ser viável, pois o subrelatório só é inserido na sessão details, e não tenho dados nessa sessão, o meu relatório é montado de acordo com o agrupamento!!

 

E não consigo inserir os campos do dataset no text object do crystal.

 

Tem mais alguma sugestão?

 

Atte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É pelo que entendi, no relatorio as notas são novos registros e você quer exibilos um na frente do outro né?

Cara ta meio complicado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ivan... consegui!!

 

Como ja tinha um dataset com todos os campos do relatório, criei um novo dataset, apenas com os 3 principais campos, com isso na hora e inserir no server explorer, relacionei todos os doicampos menos a nota, pois as notas nunca serão iguais.

 

Fiz a concatenação através de um for lool no código, criando um novo datatable e inserindo os dados; depois eu setei o setdatasource da tabela (dataset) "notas" para esse datatable.

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.