13. oktober 2004 - 02:43Der 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 ;-)
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
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
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...
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.
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?
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.
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.