ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Numerar Linhas Selecionadas QuickReport

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
mgadani
Novato
Novato


Registrado: Sexta-Feira, 7 de Novembro de 2008
Mensagens: 66

MensagemEnviada: Sex Out 19, 2012 10:03 am    Assunto: Numerar Linhas Selecionadas QuickReport Responder com Citação

Bom dia,

Estou com dificuldade em numerar um relatório somente com as linhas selecionadas no dbgrid ex:

Tenho uma consulta que me tras 10 registros

1 amanda
2 decio<-- selecionado
3 carlos
4 marcelo<-- selecionado
5 ricardo
6 claudio<-- selecionado
7 fernando
8 mario
9 silvio
10 luiz

quero imprimir somente estes registros selecionados, até ai tudo bem, mais quando imprimi ele aparece assim...

2 decio<-- selecionado
4 marcelo<-- selecionado
6 claudio<-- selecionado

eu até entendo porque ele faz assim, mais estou tentando que ele faça assim...


1 decio<-- selecionado
2 marcelo<-- selecionado
3 claudio<-- selecionado

quando crio um numerador para contar e incrementar as linhas ele conta todas as linhas do dataset e não somente as selecionadas no dbgrid...

se alguém tiver uma ideia de como fazer eu agradeceria muito...

valeu...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Out 19, 2012 11:01 am    Assunto: Responder com Citação

Bom dia,

Experimente fazer o seguinte:

- declare uma variável do tipo integer dentro do Form onde está o QuickReport, abaixo de private
- atribua zero a variável no evento BeforePrint do QuickReport
- some 1 a variável no evento BeforePrint da banda onde deve ser impresso o número, e utilize código para atribuir o valor da variável a um QRLabel para a impressão

Espero que ajude.


Editado pela última vez por imex em Qua Mar 08, 2023 11:23 am, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mgadani
Novato
Novato


Registrado: Sexta-Feira, 7 de Novembro de 2008
Mensagens: 66

MensagemEnviada: Sex Out 19, 2012 2:25 pm    Assunto: Responder com Citação

então IMEX eu já fiz isso, e mesmo assim quando ele passa pelo contador ele conta todas as linhas do dataset, e não as linhas que foram selecionadas no dbgrid.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Out 19, 2012 3:42 pm    Assunto: Responder com Citação

Não sei como você está fazendo para imprimir somente as linhas selecionadas no DBGrid, mas se você incrementar a variável somente quando uma linha vai ser impressa, acho que não tem como somar as outras linhas que não estão selecionadas.
Confirme também se o número que está sendo impresso é o valor da variável.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mgadani
Novato
Novato


Registrado: Sexta-Feira, 7 de Novembro de 2008
Mensagens: 66

MensagemEnviada: Sex Out 19, 2012 3:57 pm    Assunto: Responder com Citação

Então estou imprimindo a seleção a partir do BeforePrint do QuickReport
assim:

PrintBand := FormConsApont.DBGrid3.SelectedRows.CurrentRowSelected;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Sex Out 19, 2012 4:08 pm    Assunto: Responder com Citação

E como você está incrementando o contador? Mais ou menos assim?

Código:
PrintBand := FormConsApont.DBGrid3.SelectedRows.CurrentRowSelected;
if PrintBand then
  begin
    Inc(Contador);
    QRLabelContador.Caption := FormatFloat('#,##0', Contador);
  end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
mgadani
Novato
Novato


Registrado: Sexta-Feira, 7 de Novembro de 2008
Mensagens: 66

MensagemEnviada: Seg Out 22, 2012 7:29 am    Assunto: Responder com Citação

Bom dia...


é assim mesmo que estou fazendo...
e ele numera as linhas, seguindo do dataset e não do dbgrid...
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Out 22, 2012 9:42 am    Assunto: Responder com Citação

Bom dia,

Não testei esse código que você está utilizando para imprimir somente as linhas selecionadas no DBGrid, mas se ele está funcionando corretamente, acho que o contador também deveria estar correto.
Você debugou ou experimente colocar um ShowMessage para acompanhar o valor do contador?

Código:
PrintBand := FormConsApont.DBGrid3.SelectedRows.CurrentRowSelected;
if PrintBand then
  begin
    Inc(Contador);
    ShowMessage(IntToStr(Contador));
    QRLabelContador.Caption := FormatFloat('#,##0', Contador);
  end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB