Escolher itens de uma consulta para gerar relatório
23/04/2008
0
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?
Fajo
Posts
24/06/2008
Webmoura
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
24/06/2008
Fajo
24/06/2008
Webmoura
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
25/06/2008
Fajo
25/06/2008
Webmoura
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
25/06/2008
Fajo
23/07/2008
Winigma
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...
Clique aqui para fazer login e interagir na Comunidade :)