Quick report expression értékváltoztatás
2011-02-20T02:30:28+01:00
2011-02-20T11:54:26+01:00
2022-08-03T15:10:29+02:00
cekabond
Sziasztok.
A problémám a következő:
Hogyan lehet a QuickReport pl. az adott adatbázis (paradox) "Megnevezes" mező értékeit (ReportArajanlat.QrExpr1.Expression:='Megnevezes';) futásidőben úgy megváltoztatni (kiiratni), hogy csak a módosított érték jelenjen meg előnézetben is? Természetesen a tábla "megnevezes" mező értékei közben az eredetiek maradnak.

Az ok: Az árajánlatban szereplő tételek tárolása paradox tábla esetén csak latin karakterekkel oldható meg. (DB váltást nem szeretnék több ok miatt.) Viszont egyes esetekben cirill karakteres kiírásra lenne szükségem. Erre írtam egy rutint, mely a cirill karaktereket letárolja 'latin' formában, illetve vissza is alakítja, viszont sima "expression" hozzárendeléskor ugye a letárolt latin furcsaság jelenik meg. Arra lenne szükségem, hogy futásidőben ne a tárolt karakterláncok, hanem a delphi rutinnal immár a jó cirill karakterekre kicserélt szöveg jelenjen meg.
Mutasd a teljes hozzászólást!
Ha csak emiatt kell , akkor elég egy QRLabel is. A komponens OnPrint eseményét úgy programozod le, ahogy akarod. Value := függvényed(....). A lényeg, hogy a Value string "értéket" kapjon.
Mutasd a teljes hozzászólást!

  • Zöld vagyok mint látszik. Le tudnád írni egy rövid példában milyen értékeket kapnak és hogy ezek hogyan kapcsolódnak?

    ReportArajanlat.QRExpr1.expression:='Megnevezes';
    ReportArajanlat.QRExpr1.OnPrint:={a megnevezés aktuális értékét módosítjuk?}
    ReportArajanlat.QrLabel1:={a módosított érték kiírása a detail band-ban, hogyan kap értéket?}

    Köszönöm.
    Mutasd a teljes hozzászólást!
  • Buta voltam, az OnPrint eseményt valahogyan így akartam lekövetni:
    ReportArajanlat.QrExpr1.Expression:='Megnevezes';
    ReportArajanlat.QRExpr1.OnPrint:=ReportArajanlat.QrExpr1.Value.strResult;


    De ez a megoldás:

    procedure TReportArajanlat.QRExpr1Print(sender: TObject; var Value: string);
    begin
    Value:=Value;
    QrLabel19.Caption:=Latin_Cyrill(value);
    end;

    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd