Escolher itens de uma consulta para gerar relatório

23/04/2008

1

Olá,


estou com 2 dúvidas e não sei que direção tomar:

1. Se o resultado de uma consulta me traz por exemplo 30 registros, mas o dbrepeater está configurado para mostrar só 10, como fazer para que quando clique em um botão ele me mostre os outros 10 e assim por diante, já tentei com o MoveBy(), mas só funciona com a primeira leva de 10;

2. Como fazer para escolher dentre os registros resultados de uma consulta, quais os que serão impressos, eu pensei em colocar um campo imprimir do tipo boolean , e um checkbox no dbrepeater para que quando se clicar, ele armazenar true no campo imprimir, só tá dando errado, quando marco os que eu quero, na tabela acontece algo estranho, o 1º é duplicado, subtituindo um outro aleatoriamente e só esse fica com o campo imprimir true.

Alguma sugestão?


Responder

Posts

24/06/2008

Webmoura

Boa tarde

Vamos la a sua primeira pergunta, a forma mais facio de andar e a seguinte no componente tabela ou query que voce deve ter ligado ao dbgrid tem duas opcoes que vao determinar para voce os registros que serao mostrados ok

entao vamos la supondo que voce tem 30 registros e esta mostrando os 15 primeiro e quer mostrar os outros 15 e so voce colocar no evendo on click do botao o seguinte comando

$this->tabela->LimiteStart = 14;//ele vai comecar a mostrar a partir do 15 registro
$this->tabela->LimiteCount = 15;//ele so vai mostrar 15 registros

pronto, espero ter ajudado
webmoura


Responder

24/06/2008

Fajo

Blz webmoura, mas e se eu tiver 100 registros? e quiser de 10 em 10


Responder

24/06/2008

Webmoura

Boa tarde

voce tem varias maneiras de fazer isso encrementando os valores, usando tags, ifs. mais vamos la vou dar um exemplo bem simples que pode resolver

no botao de proximo voce coloca o seguinte comando

$this->tabela->LimitStart = $this->tabela->LimitStart +10;
$this->tabela->LimitCount = 10;//este vai ser sempre este valor pois sempre vai exibir so 10


no botao de voltar voce coloca o comando assim

if (!$this->tabela->LimitStart==10)//faco o if para validar que o minimo de registros e 10
{
$this->tabela->LimitStart = $this->tabela->LimitStart - 10;
}
else
{
$this->tabela->LimitStart = 10;
}
$this->tabela->LimitCount = 10;//este vai ser sempre este valor pois sempre vai exibir so 10

faca os teste, espero ter ajudado
Abraco
webmoura


Responder

25/06/2008

Fajo

Ajudou e muito webmoura, obrigado, só falta agora o 2º problema, mas já valeu muito.


Responder

25/06/2008

Webmoura

Bom dia, vamos ao segundo problema

este e um pouco mais complicado de resolver, mais antes quero te perguntar se entendi bem a pergunta, para que assim eu nao responda bobeira ok

o que voce quer fazer e o seguinte, vamos supor que dentro dos 10 primeiros registros que apareceram voce quera imprimir apenas 3 deles, tipo selecionar e depois apertar o imprimir, seria isso

fico no aguardo
abraco


Responder

25/06/2008

Fajo

Isso mesmo, dentro do resultado de uma consulta, quero escolher quais vou imprimir.


Responder

23/07/2008

Winigma

Olá amigo, vi a resposta ai e achei interessante, mais achei meio que desgastante, pq ao invés de usar esse código vc não usa um pager?
assim vc não precisa usar uma unica linha de código, e mostra a quantidade de registro que quiser na pagina, claro que vc terá que usar o dbrepeat tbm...


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira