Crystal report met afbeeldingen

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Scheepers.A
  • Registratie: Februari 2019
  • Laatst online: 16-03-2022
Ik ben bezig met een crystal report via VB.net waarin png figuren(boom, gras, kruid) in kunnen zitten die op de C-schijf staan.
Dit is afhankelijk van factoren.
Het is mogelijk dat er geen figuur in zit of 1, 2 tot max 3.
Verder kan het zijn dat figuur 1 (gras) is en figuur 2 (kruid), maar het kan ook dat er 1 figuur (kruid) afgebeeld moet worden.
De figuren komen op de laatste pagina te staan.
Ik heb 3 parameters aangemaakt (b,p,k) en deze gekoppeld via een picturebox -> afbeelding -> {?B}

De code tot nu toe is:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 If boom = True Or gras = True Or kruid = True Then
    Dim Tel As Integer = 0

    If boom = True Then
        listOfValues(Tel) = "H:\Grafiek\Boom.png"
        Tel = Tel + 1
    End If
    If gras = True Then
        listOfValues(1) = "H:\Grafiek\Gras.png"
        Tel = Tel + 1
    End If
    If kruid = True Then
        listOfValues(2) = "H:\Grafiek\Kruid.png"
        Tel = Tel + 1
    End If

     For i As Integer = 1 To report.DataDefinition.ParameterFields.Count - 1
        Dim myparameterValues As CrystalDecisions.[Shared].ParameterValues = New CrystalDecisions.[Shared].ParameterValues()
        discreteVal = New CrystalDecisions.[Shared].ParameterDiscreteValue()
        discreteVal.Value = listOfValues(x)
        x = x + 1
        myparameterValues.IndexOf(report.DataDefinition.ParameterFields(i).Name)
        myparameterValues.Add(discreteVal)
        report.DataDefinition.ParameterFields(i).ApplyCurrentValues(myparameterValues)
    Next

    report.SetParameterValue(0, txtMIN.Text)
    report.SetDataSource(table3)
    CrystalReportViewer1.ReportSource = report

    CrystalReportViewer1.Zoom(80%)
end if



De figuren komen niet in het rapport te staan.
Weet iemand wat er fout of wat ik mis, want ik zie het niet meer en ik google mij suf?

[ Voor 6% gewijzigd door RobIII op 20-01-2022 14:05 . Reden: Als je code post, gebruik dan code tags a.u.b. ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Scheepers.A schreef op donderdag 20 januari 2022 @ 13:25:
De figuren komen niet in het rapport te staan.
Weet iemand wat er fout of wat ik mis, want ik zie het niet meer en ik google mij suf?
Scheepers.A schreef op donderdag 20 januari 2022 @ 13:25:
die op de C-schijf staan.

[...]

Visual Basic .NET:
1
2
3
4
5
        listOfValues(Tel) = "H:\Grafiek\Boom.png"
        '...
        listOfValues(1) = "H:\Grafiek\Gras.png"
        '...
        listOfValues(2) = "H:\Grafiek\Kruid.png"
Je hebt 't over C-schijf en in je code gebruik je H :?

[ Voor 27% gewijzigd door RobIII op 20-01-2022 14:09 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Scheepers.A
  • Registratie: Februari 2019
  • Laatst online: 16-03-2022
Ze staan op de H-schijf. Dit is een lokale schijf.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verder gebruik je:
Visual Basic .NET:
1
2
3
listOfValues(Tel)
listOfValues(1)
listOfValues(2)

Lijkt me dat je daar alle 3 de keren "Tel" wil gebruiken?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Scheepers.A
  • Registratie: Februari 2019
  • Laatst online: 16-03-2022
Klopt, maar na correctie nog geen picture

[ Voor 78% gewijzigd door Scheepers.A op 20-01-2022 14:47 ]


Acties:
  • 0 Henk 'm!

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 16-09 14:56

Knutselsmurf

LED's make things better

Ik ken Crystal Reports verder niet, maar weet je zeker dat je de picturebox een stuk tekst als waarde mee kunt geven? Heb je al getest wat er gebeurt als je de daadwerkelijke afbeelding doorgeeft, in plaats van een stuk tekst met de bestandsnaam?

- This line is intentionally left blank -


Acties:
  • 0 Henk 'm!

  • al7181
  • Registratie: Juni 2011
  • Laatst online: 30-08-2024
Ik heb in een ver verleden met CR 8.5 zoiets gedaan.

Ik wilde dynamisch afbeeldingen kunnen laden zonder deze eerst in een DB te moeten stoppen.
Ik heb dat toen opgelost door de section.Format() eventhandler te overriden.

Daarin zocht ik in de collection van ReportObjects de picturebox op en assign daar een nieuwe afbeelding.
Was zelfs nog VB6 code:

code:
1
2
3
Set pic = New StdPicture
Set pic = LoadPicture("C:\images\picture1.bmp")
Set cr_sect.ReportObjects.Item("picturebox1").FormattedPicture = pic


Je kan ook de size van je picturebox aanpassen aan de gelezen image via
code:
1
2
cr_sect.ReportObjects.Item("picturebox1").Width=...
cr_sect.ReportObjects.Item("picturebox1").Height=...


Maar zo te zien werkt dit op een andere manier in latere versies van CR, zie:
https://archive.sap.com/d...message/16525057#16525057

Welke versie gebruik je?

Succes!

[ Voor 5% gewijzigd door al7181 op 21-01-2022 10:24 ]

Pagina: 1