Avatar billede old-faithful Praktikant
13. oktober 2004 - 02:43 Der er 9 kommentarer og
1 løsning

Visning af HTML-formateret tekst i "forms"

Hej. Jeg har en kolonne der indeholder HTML formateret tekst. Denne tekst vil jeg gerne vise i en Form, så formateringen bevares - dvs. jeg vil ikke se html kode, men formateret tekst. En almindelig tekstboks kan således ikke bruges da den viser HTML koden, og ikke formateret tekst.

Jeg har overvejet at bruge en "DHTML Edit Control For IE5", eller en "Microsoft Webbrowser", men kan ikke få det til at virke!

Er der en let måde at opnå dette? Udførligt svar ønskes, da jeg er ret noobish ;-)
Avatar billede old-faithful Praktikant
13. oktober 2004 - 23:28 #1
Stadig intet svar... :-(

Jeg har fundet en side, som måske er relevant. Jeg kan dog ikke finde ud af at implementere det:
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_21119643.html
Avatar billede ricky Nybegynder
14. oktober 2004 - 00:45 #2
Metoden fra dit link kan bruges:
gør følgende:
1. placér en textbox indeholdende feltet fra din database (f.eks. htmltekst)
2. opretter en DHTML Edit Control (her kaldet DHTMLEdit)
3. Sæt 'on current' event'et til:
if not isnull((htmltekst]) then
  DHTMLEdit.DocumentHTML = [htmltekst]
end if

..så skulle det gerne virke..
Avatar billede old-faithful Praktikant
14. oktober 2004 - 01:16 #3
Hmm, jeg kan ikke finde "on current" (det er tilsyneladende hverken en del af en tekstbox eller et DHTMLEdit-objekt, så desværre kan jeg ikke få dit svar til at virke!

I det pågældende tilfælde har jeg en kolonne som hedder "Message". Den indeholder en masse rækker med HTML formateret tekst. Hvis jeg laver en almindelig tekstbox med "control source" sat til "Message", kan jeg se teksten inklusiv html kode.

Skal jeg både placere en almindelig tekstbox og en DHTML edit? Så har jeg jo 2 tekstbokse...
Avatar billede mugs Novice
14. oktober 2004 - 07:04 #4
old-faithful -> OnCurrent er en hændelse i selve formularen, ikke i et kontrolelement. Hvis du benytter en dansk version hedder hændelsen VedAktuel.

Du finder den ved at højreklikke udenfor selve formularen i det mørkegrå område > Egenskaber > Fanen data
Avatar billede ricky Nybegynder
14. oktober 2004 - 10:29 #5
ganske rigtigt som mugs skriver.. (jeg er ikke så meget inde i den danske version)

og ja du skal have 2 elementer på din form, da disse 2 i fællesskab skal løse opgaven. Når du har fået det til at virke kan du sætte "message" til ikke fysisk at blive vist.
Avatar billede old-faithful Praktikant
14. oktober 2004 - 12:54 #6
Jeg har fundet OnCurrent nu. Jeg har prøvet at sætte ovenstående kode ind i både Code Builder (dvs. VB) og Expression Builder, men det virker stadig ikke.

I VB har jeg indsat flg. tekst (prøvet både med og uden "[" og "]"):

'---------- START CODE ----------
Private Sub Form_Current()
If Not IsNull([Message]) Then
  DHTMLEdit.DocumentHTML = [Message]
End If
End Sub
'----------- END CODE -----------

Er min fremgangsmåde korrekt? Skal [Message] afspejle navnet på den eksisterende tekstboks? Hvad kan jeg gøre?
Avatar billede ricky Nybegynder
14. oktober 2004 - 13:27 #7
Helt korrekt. [message] skal afspejle den eksisterende tekstboks.
DHTMLEdit skal afspejle navnet på DHTMLEdit objektet.
Avatar billede ricky Nybegynder
14. oktober 2004 - 13:28 #8
Hvis det stadig ikke spiller for dig.. hvad får du af fejl ?
Avatar billede old-faithful Praktikant
14. oktober 2004 - 13:52 #9
Jeg fandt fejlen... jeg havde rod i navnene og min DHTMLEdit hed noget andet, end det der stod i koden. Tak for hjælpen!

-----

Hvis andre skulle have brug for at vise HTML-formateret tekst, laver jeg lige en kort oversigt over hvordan jeg gjorde det:

1. Lav en textbox, indeholdende feltet fra din database. Boksens indehold indsættes således: Højreklik >> Properties >> Data >> Control Source >> "Navnet på kolonnen"

2. Opret en "ActiveX control" - vælg den der hedder "DHTML Edit Control"

3. Højreklik i det mørkegrå felt uden for formen, og vælg properties.

4. Tryk på "Event"-fanebladet, og find "On Current" her. Vælg tekstfeltet og tryk på knappen med de 3 prikker (til højre). Vælg "Code Builder".

5. Indsæt flg. code i SUB'en:
'---------- CODE START ----------
If Not IsNull([Message]) Then
    DHTMLEdit.DocumentHTML = [Message]
End If
'----------- CODE END -----------

6. Sørg for at [Message] afspejler navnet på den tekstbox du oprettede i Pkt. 1. "DHTMLEdit" skal ligeledes svare til det navn din "DHTML Edit Control" har fået.

7. Gem og luk for Visual Basic-editoren
Avatar billede ricky Nybegynder
14. oktober 2004 - 15:22 #10
hov! hov! det er jo ikke hjælp til selvhjælp :)

selv tak..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester