Tiago_BB 0 Denunciar post Postado Abril 27, 2010 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
Ivan.Teles 23 Denunciar post Postado Abril 27, 2010 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
Tiago_BB 0 Denunciar post Postado Abril 27, 2010 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
Ivan.Teles 23 Denunciar post Postado Abril 27, 2010 Text Object, ou então usar sobrelatorios! Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_BB 0 Denunciar post Postado Abril 28, 2010 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
Ivan.Teles 23 Denunciar post Postado Abril 28, 2010 É 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
Tiago_BB 0 Denunciar post Postado Abril 28, 2010 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
Ivan.Teles 23 Denunciar post Postado Abril 28, 2010 beleza.!!! Compartilhar este post Link para o post Compartilhar em outros sites
Tiago_BB 0 Denunciar post Postado Abril 29, 2010 Novamente obrigado pela ajuda Ivan. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites