Fórum Mestre-Detalhe com StringsBand #299527

14/10/2005

0

[color=green:f987441b3a][b:f987441b3a]Ola pessoal, tudo bem?
Estou tentando achar um jeito de fazer um relatorio mestre detalhe meio diferente do comum. [/b:f987441b3a][/color:f987441b3a]
[b:f987441b3a]Dá uma olhada abaixo:[/b:f987441b3a]
================== [b:f987441b3a]Relatorio de Fornecedores[/b:f987441b3a] ================== Fornecedor: NomeDoFornecedor1 ------------------------------- Produtos ------------------------------- Nome | Quantidade ------------------------------- Produto1 | 10 Produto2 | 20 Produto3 | 5 Produto4 | 15 ================== Fornecedor: NomeDoFornecedor2 ------------------------------- Produtos ------------------------------- Nome | Quantidade ------------------------------- Produto1 | 10 Produto2 | 20 Produto3 | 5 Produto4 | 15 ================== Fornecedor: NomeDoFornecedor3 ------------------------------- Produtos ------------------------------- Nome | Quantidade ------------------------------- Produto1 | 10 Produto2 | 20 Produto3 | 5 Produto4 | 15 ================== Fornecedor: NomeDoFornecedor4 ------------------------------- Produtos ------------------------------- Nome | Quantidade ------------------------------- Produto1 | 10 Produto2 | 20 Produto3 | 5 Produto4 | 15 ==================


Eu coloquei um for no BeforePrint do StringBand... mas ele sempre imprime no mesmo lugar.
Fica assim:
============= Fornecedor: NomeDoFornecedor4 ------------------------------- Produtos ------------------------------- Nome | Quantidade ------------------------------- [b:f987441b3a]Produto4 | 15[/b:f987441b3a] // Aqui ele vai imprimindo um por cima do outro, e fica só o ultimo....


[color=blue:f987441b3a][b:f987441b3a]Eu sei q assim nunca vai dar certo....
Talvez outra tipo de banda ligada ao StringBand...sei lá...Alguem teria alguma solução pra esse problema?[/b:f987441b3a][/color:f987441b3a]

[b:f987441b3a]Código no BeforePrint[/b:f987441b3a]
procedure TFrmImpressaoFornecedores.StringBandBeforePrint(
  Sender: TQRCustomBand; var PrintBand: Boolean);
var
  i : Integer;

begin
  inherited;
  self.QrLabelFornecedor.Caption  := self.XMLCC.Fornecedores[StrToInt(Self.StringBand.Item)].Nome;


  for i:=0 to StrToInt(qtde_produtos)-1 do begin
    QrLabelProduto:= self.XMLCC.Fornecedores[StrToInt(Self.StringBand.Item)].Produtos[i].Nome;
    QrLabelQuantidade:= self.XMLCC.Fornecedores[StrToInt(Self.StringBand.Item)].Produtos[i].Qtde;
  end;
end;



Michelli88

Michelli88

Responder

Posts

14/10/2005

Michelli88

Achei a soluçao eeeeeee!
Coloquei um loopband com master ligado ao Stringband.
Tirei o for do beforeprint do stringband e coloquei no beforeprint do loopband.
Setei
loopband.PrintCount:= quantidadeProdutos;
O codigo ficou assim:

procedure TFrmImpressaoFornecedores.StringBandBeforePrint(
  Sender: TQRCustomBand; var PrintBand: Boolean);
var
  i : Integer;

begin
  inherited;
  self.QrLabelFornecedor.Caption  := self.XMLCC.Fornecedores[StrToInt(Self.StringBand.Item)].Nome;
  loopband.printcount:=Qtde_produtos;
end;


e no before print do loopband:
  
    QrLabelProduto:= self.XMLCC.Fornecedores[StrToInt(Self.StringBand.Item)].Produtos[i].Nome;
    QrLabelQuantidade:= self.XMLCC.Fornecedores[StrToInt(Self.StringBand.Item)].Produtos[i].Qtde;

:D :D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar