Jump to content
dipacheco

Fixar tabela num report

Recommended Posts

dipacheco

Boas pessoal... isto está a ser discutido noutro topico mas achei por bem abrir um que acho que pode servir algumas pessoas.

Tenho um report com 4 tabelas... uma em cima, 2 em baixo e uma a meio... a unica que tem tamanho variável é a do meio... o q queria fazer era fixar a d cima e as de baixo na posição em que estão e replica-las em todas as paginas...

Com a do meio queria que fizesse uma coisa que era crescer e nao "empurrar" as de baixo... e q mantivesse também ela o posicionamento numa 2ª página do report, com cabeçalhos incluidos.

Alguém me pode ajudar com isto? obrigado.

Share this post


Link to post
Share on other sites
dipacheco

se eu conseguisse colocar as tabelas (primeira e duas ultimas) dentro de cabeçalho e rodapé tinha o problema resolvido...

Share this post


Link to post
Share on other sites
dipacheco

peço desculpa por voltar a chatear mas isto está mesmo a chegar a um ponto de desespero porque preciso disto feito e foi o fim de semana inteiro sem encontrar soluçoes... alguem tem algum site ou algo parecido onde eu possa ver como fazer isto? agradeço qlq ajuda que me possa ser dada.

Share this post


Link to post
Share on other sites
Caça

O máximo que consegues é com subreports, caso chegue ao limite, vai mudar de página.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
jpaulino

E o que tens nessas tabelas? Não podes passa isso para parameters e colocar no header/footer?

Share this post


Link to post
Share on other sites
dipacheco

o q tnh nessas tabelas vem do sql tambem... passar para parameters e colocar no header e footer? como faço isso com "efeito tabela"??

é suposto eu ter aquele aspecto de conta da luz, ou factura, ou outra coisa qlq entendes? em q em cima tnh os dados do cliente e em baixo os dados da factura... e no meio os descritivos...

Share this post


Link to post
Share on other sites
jpaulino

Como? As textboxes permitem definir uma propriedade que é a borderstyle permitindo dessa forma fazeres tu (manualmente é verdade) uma tabela. Caso não seja uma informação fixa (que é o caso), deve funcionar muito bem.

Share this post


Link to post
Share on other sites
dipacheco

nao entendeste a minha questao...

ate agora, tnh tido problemas com parameters (o caça q o diga, lol), e ja os usei mas apenas com os inserts e updates... com selects ainda nao e sinceramente faz-me um bocado de confusao porque nao entendo o q devo passar no no addwithvalue... ve la se o q digo faz sentido??

command = new sqlcommand("SELECT [Nome] FROM [Tabela1] WHERE [Numero]=@Num",connect)
command.Parameteres.AddWithValue("@Num",1)
while reader.read
     AQUI SUPOSTAMENTE ENTRA O CÓDIGO QUE ENVIA VALOR PARA TEXTBOX NO REPORT CERTO???
     NO ENTANTO NÃO CONSIGO FAZER ALGO COMO FAÇO NUM FORM NORMAL... EXEMPLO: numa textbox1 do form1 faria... form1.textbox1.text = reader(0).tostring ... mas nao consigo fazer report1.textbox1.text = reader(0).tostring
end while
reader.close

Share this post


Link to post
Share on other sites
jpaulino

Tu é que não entendes ;)

este artigo, em especial a secção de "Parâmetros (Parameters)", e depois no final, onde mostra o código, como definir um ReportParameter.

Share this post


Link to post
Share on other sites
dipacheco

estive a ver o artigo e tentar fazer algo do genero mas, para alem d haver coisas q n entendo, nao encontro o menu report-> report parameters (estou no vs2010). Tambem nao percebo o q fazes ao declarar 2 parametros do report que sao o jpaulino e o Administrator porque depois não consegui ver onde fazes uso desses parametros...

Sim, sou novato! ;) ahahah

Share this post


Link to post
Share on other sites
jpaulino

Quando seleccionas o report aparece-te uma nova opção no menu: report-> report parameters

Share this post


Link to post
Share on other sites
dipacheco

nao... aparece report mas la dentro so tem... report properties, remove page header, remove page footer, ruler e grouping...

Share this post


Link to post
Share on other sites
dipacheco

??? nao encontro a janela report data ...

outra coisa... se criar uma textbox e colocar la a expressao... =First(Fields!Numero.Value, "DataSet1") fico com o primeiro numero que aparece do meu dataset1... agora imagina que tenho 20 impressoes de clientes diferentes para fazer porque o meu select * from tabela1 retornava 20 clientes... eu precisava que ele colocasse no campo numero nao o primeiro mas o "em uso"... ou seja, sempre que os dados dos movimentos fossem referentes a um cliente diferente ele deveria fazer um "refresh" aos dados das textboxes em cabeçalhos e rodapes... é possivel?

Share this post


Link to post
Share on other sites
jpaulino

nao... aparece report mas la dentro so tem... report properties, remove page header, remove page footer, ruler e grouping...

Menus, vê nos menus. Quando selecciona o report aparecem-te novo menus (por cima da toolbar)

Share this post


Link to post
Share on other sites
dipacheco

:wallbash:

nao encontro...

em relaçao ha 2ª pergunta q fiz, alguma ajuda? é q se der para fazer distinçao entre utilizadores... está praticamente feito!

Share this post


Link to post
Share on other sites
dipacheco

jpaulino... eu acho q fui esclarecedor, nao era preciso essa imagem! lol... eu tnh esse menu Report... mas la dentro nao existe o submenu que indicaste mas sim os que eu indiquei... report properties, remove page header, remove page footer, ruler e grouping...

Share this post


Link to post
Share on other sites
jpaulino

Estranho ... que versão estás a usar? Mostra lá uma imagem.

E se fores ao expression builder não aparece lá parameters?

Share this post


Link to post
Share on other sites
jpaulino

aparece la parameters mas diz q n tem parameters...

Pois, porque não estão definidos.

No report, vai às propriedades e selecciona na combobox "Report" (ou clica ao lado do report). Nas propriedades vê se tens "ReportParameters"

Share this post


Link to post
Share on other sites
dipacheco

nop, nao tem! esquisito...

tirei as tabelas todas (com excepçao da do meio) e fica perfeito com as textboxes nos cabeçalhos e rodapes... no entanto so m mostra dados do primeiro user porque estou a fazer uso da expression FIRST... e na do meio mostra coisas do primeiro e do segundo obvio... n ha maneira de filtrar isto? ou seja, se o use é novo faz report novo?? os meus dados estão todos em 3 datatables..

Share this post


Link to post
Share on other sites
dipacheco

tentei dar a volta à situaçao fazendo o relatorio.show dentro de um ciclo.. ou seja, sempre q lia uma factura carregava os dados referentes a essa factura e fazia o relatorio.show com esses dados... mas continua a so apresentar-me os dados da 1ª...

Share this post


Link to post
Share on other sites
dipacheco

Tentei "dar a volta" colocando este código no botão que chama o report... mas como já disse só imprime o primeiro elemento...

Imports System.Data.SqlClient
Public Class Form1
    Dim connect As SqlConnection
    Dim connect2 As SqlConnection
    Dim command2 As SqlCommand
    Dim reader As SqlDataReader
    Dim doc As New DataTable
    Dim doclinha As New DataTable
    Dim doci As New DataTable
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        doc.Clear()
        doclinha.Clear()
        doci.Clear()
        connect2 = New SqlConnection("Data Source=PACHECO-PC\SQLEXPRESS;Initial Catalog=Teste;Integrated Security=True;")
        connect2.Open()
        command2 = New SqlCommand("SELECT Numero FROM Tabela1", connect2)
        reader = command2.ExecuteReader
        connect = New SqlConnection("Data Source=PACHECO-PC\SQLEXPRESS;Initial Catalog=Teste;Integrated Security=True;")
        connect.Open()
        While reader.Read
            Dim command As New SqlClient.SqlDataAdapter("SELECT Numero,Datadia,Datames,Dataano FROM Tabela1 WHERE Numero='" & reader(0).ToString & "'", connect)
            command.Fill(doc)
            command = New SqlClient.SqlDataAdapter("SELECT Produto,Designacao,Quantidade FROM Tabela2 WHERE Numero='" & reader(0).ToString & "'", connect)
            command.Fill(doclinha)
            command = New SqlClient.SqlDataAdapter("SELECT Taxa,Valora,Valorb FROM Tabela3 WHERE Numero='" & reader(0).ToString & "'", connect)
            command.Fill(doci)
            Relatorio.dadosdocs = doc
            Relatorio.dadosdocslinhas = doclinha
            Relatorio.dadosdocsi = doci
            Relatorio.Show()
        End While
        reader.Close()
        connect.Close()
        connect2.close()
    End Sub

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.