Avatar billede leif Seniormester
06. oktober 2006 - 13:02 Der er 27 kommentarer og
1 løsning

View design Web

Hej,

I et standard som vises i en Browser er det kun første felt som er link, hvordan kan jeg lave så hele linien er link til dokumentet ?

Eller endnu bedre hvordan jeg jeg vise mine views på en pænere måde og stadig beholde, search, Previous og Next ?

På forhånd tak

/Leif
Avatar billede jogii Nybegynder
06. oktober 2006 - 13:18 #1
I kolonnedefinitionen Properties -> Sidste faneblad (Propellerhead) er der et afkrydsningsfelt der hedder "For Web Accesss: Show values in this column as link".

Vedr. dit andet spørgsmål om at gøre det pænere : Hvor skal jeg starte?
Der er flere hundrede måder at gøre det på. Grundlæggende gør man det at man definierer en formular, som navngives "$$ViewTemplateDefault", som anvedes for alle oversiger. Denne formular anvendes så til visning af oversigter. På formularen placeres navigeringsknapper over og under oversigten. Selve oversigten embedder man ELLER laver et felt der hedder $$ViewBody. Jeg er ikke helt sikker længere, det erlang tid siden, men det kan du læse dig til.

Hvis du skal have en oversigt som har et afvigende design, så defineres det med en speciel formular der navngives "$$ViewTemplateFor<viewalias>" (tror jeg, der kan mangle mellemrum)
Avatar billede mmmtm Nybegynder
06. oktober 2006 - 22:33 #2
Hvis man bruger et $$ViewBody felt viser man en helt view.
Hvis man embedder et view, har man muligheden for at tilføje "show single category", men det kræver at man definerer "single category" i url'en og henter den via Query_String.
"$$ViewTemplate for viewalias" er den korrekte måde at navngive afvigende design-form-templates der ikke skal vises via $$ViewTemplateDefault.

Som jogii skriver: der er rigtig mange måder at gøre det på - men den eneste jeg har erfaring med der fungerer rigtig godt, er at lave viewet i html og derefter pakke det ind i en form-template med de funktioner man ønsker (og må kode selv, som regel er html/javascript det mest effektive).
Avatar billede leif Seniormester
06. oktober 2006 - 23:10 #3
mmmtm -> Har du en eksempel database jeg kunne se ?
Avatar billede mmmtm Nybegynder
07. oktober 2006 - 14:41 #4
Ikke sådan lige - men jeg kan lave en eksempeldb forholdsvis nemt. Men der går nok en dag eller to.
Avatar billede leif Seniormester
07. oktober 2006 - 17:37 #5
Må du meget gerne, projektet haster ikke da det nu har været 1 år undervejs (pga. politik)
Avatar billede leif Seniormester
11. november 2006 - 13:33 #6
mmmtm -> Har du glemt mig ?
Avatar billede mmmtm Nybegynder
11. november 2006 - 14:56 #7
Nej, jeg havde faktisk lavet et ex, men jeg lavede det desværre lokalt, og den pc jeg brugte er braget fuldstændig ned, så jeg afventer en rep af den.
Avatar billede leif Seniormester
11. november 2006 - 16:16 #8
Uhh, det var da ikke godt.
Avatar billede jogii Nybegynder
12. november 2006 - 12:52 #9
Har du prøvet det som jeg skrev?

Du kan tage nogle af de ord fra mit indlæg og søge i hjælpebaserne ...

søgning efter $$ViewBody giver i DesignerHelp7 to gode dokumenter
* Designing a form as a view or navigator template 
* Creating an embedded view or embedded folder

Her er teksten for det første dokument:

In Web applications, to create an association between a form and a view or navigator, you can assign a reserved name to the form. Domino uses the form as a template when users open the view or navigator. This can be a good way to create a standard display for views and navigators in your site.
Use the following reserved form names to create an association between a form and a view or navigator.
Note that Domino requires an embedded view or the $$ViewBody field on the form, but ignores the value.

Form name    Design element required and description

$$ViewTemplate for viewname
Embedded view or $$ViewBody field. Associates the form with a specific view. The form name includes viewname, which is the alias for the view or when no alias exists, the name of the view.

$$NavigatorTemplate for navigatorname
Embedded navigator or $$NavigatorBody field.
Associates the form with a specific navigator. The form name includes navigatorname, which is the navigator name. For example, the form named "$$NavigatorTemplate for World Map" associates the form with the World Map navigator.
Domino ignores create and read access lists on the form.

$$ViewTemplateDefault
Embedded view or $$ViewBody field.
Makes this form the template for all Web views that aren't associated with another form.

$$NavigatorTemplateDefault
Embedded navigator or $$NavigatorBody field.
Makes this form the template for all Web navigators that aren't associated with another form.
Avatar billede mmmtm Nybegynder
30. november 2006 - 09:20 #10
Leif: Det er egenligt nemmere hvis du sender mig et ex på en db, og fortæller hvordan du godt kunne tænke dig at det skal se ud (?).
Avatar billede leif Seniormester
30. november 2006 - 10:23 #11
mmmtm -> Det ville jeg da gerne hvis jeg kunne huske din mail adresse !
Avatar billede mmmtm Nybegynder
30. november 2006 - 10:42 #12
jeg har sendt den til din ljnet adresse
Avatar billede leif Seniormester
12. december 2006 - 00:06 #13
Langt om længe har jeg fået replyet
Avatar billede mmmtm Nybegynder
14. december 2006 - 16:41 #14
Pudsigt, den db vil overhovedet ikke åbne i en browser. Selv hvis jeg opretter en ny db og kopierer alle designelementer over, kan jeg ikke åbne noget fra web - kun default siden med databaseikon/navn / oversigter / "der er ingen oversigter fundet". Meget mærkeligt, alt ser ellers ud til at være iorden...
Avatar billede mmmtm Nybegynder
14. december 2006 - 17:01 #15
Nå, kopiering hjalp alligevel. Det var bare mig der skrev forkert og tilfældigt havde en tom db liggende med det "forkerte" navn :-)
Men - det er da alle kolonner i linjerne der er et link som default (altså hele linjen som du ønsker)  ?
Avatar billede leif Seniormester
14. december 2006 - 20:16 #16
:D

Ja, tildels, men jeg ønsker hvad kan man sige et lidt mere "pro" layout dvs. vælge at bruge Verdana som skriftype og sådanne ting
Avatar billede mmmtm Nybegynder
14. december 2006 - 22:05 #17
Ok. Hvordan har du det med html og javascript ? Og har du evt. et link til nettet som du syntes ser "pro" ud (behøvs ikke at være lavet i notes).
Avatar billede jogii Nybegynder
14. december 2006 - 22:07 #18
verdana og pro ... nu er vi virkelig nede i de følsomme, hva :-)
Avatar billede leif Seniormester
14. december 2006 - 22:56 #19
jogii -> Du er sjov ! Jeg tror mmmtm er lidt klar over hvad jeg mener eller det håber jeg på !

mmmtm -> Det var lige så meget for at få en idé hvordan man kunne gøre det lidt pænere end den måde et View som standard bliver vist i en Browser. HTML fint nok, JavaScript hænger lidt mere.
Avatar billede leif Seniormester
23. december 2006 - 13:19 #20
mmmtm -> Har du fået kigget nærmere på den ?
Avatar billede mmmtm Nybegynder
23. december 2006 - 19:26 #21
ja, - jeg skulle nok kunne sende noget til dig 1. eller 2. juledag. Det er mest forklaringerne jeg mangler.
Avatar billede mmmtm Nybegynder
26. december 2006 - 12:47 #22
Så har jeg sendt et ex. Jeg har aldrig brugt dominos indbyggede search i webviews, så det tog lidt tid at få det til at se pænt ud og fungere. Jeg vil prøve at beskrive fremgangsmåden generelt, så andre kan forstå (og gerne kommentere) den. Fremgangsmåden har været som følger:
Db'en er som default sat til at åbne "About"-dokumentet. Her ligger pass-thru html med et javascript der åbner formen instrukser :<SCRIPT>document.location.href="/<Computed Value>/evinstrukser?readform"</SCRIPT> hvor computed value = @webDbName og evinstrukser er den form der skal åbnes.
Evinstrukser (ev er blot en forkortelse jeg bruger = embedded view) er en form med et embedded view (instrukser). Formen indeholder desuden diverse javascript funktioner i JS-header, som så kan kaldes fra viewet. Endvidere ligger der på formen diverse skjulte felter med de variable som diverse script skal bruge – derfor skal egenskaben "generate html for all fields" på formen sættes. Selve viewet laves som html-tabel. <table></table>  tags ligger på evinstrukser, før og efter det embeddede view.  Og på evinstrukser ligger også html til at danne overskrifterne for viewet, disse skal have samme width (og antal) som i viewet.
Instrukser er et view med "treat view content as html" og indholdet er pakket ind i html med en <tr> pr. linje og herimellem <td> med feltindhold (og div. kode).
Selve Den første kolonne i viewet er skjult, og bruges kun til at sortere viewet.  For at få diverse egenskaber på hele linjen i oversigten, ligger der en del kode på kolonne 2, da det er den der indeholder linjens <tr>:
url:= "0/" +@Text(@DocumentUniqueID) +"?OpenDocument";
mouseOverTitle:="Klik for at åbne \"" + instruksSubject + "\"";
"<tr onMouseOver=\" this.style.background='#CCFFFF', this.style.cursor='hand'\" onMouseOut=\"this.style.background='' \" onClick =\"replaceUrl('" + @Text(@DocumentUniqueID) +"')" + "\"  title='" +mouseOverTitle+ "' width=100> <td>"+@Text(InstruksNR)+"</td>"

replaceUrl() kalder et script der ligger i JS-header på evinstrukser, og som åbner det rette dokument (via @documentUniqueID), i et nyt vindue:
function replaceUrl(id) {
var hiLightText=window.document.forms[0].highlightText.value;
var thisDBName = window.document.forms[0].thisDB.value;
var urlToOpen = '/' +thisDBName + '/0/'+id + '?opendocument&highlight=0,' + hiLightText;
window.open(urlToOpen,'','')
}

window.document.forms[0].thisDB.value = Computed (@webDbName)  for display felt med navn "thisDB" på evinstrukser.
(tilsvarende for highlightText, det bruges dog ikke her, kun til søgning)

onMouseOver =\"this.style.background='…osv' ændre baggrundsfarven for linjen ved mouseover
onMouseOut=osv… fjerner baggrundsfarven igen.
Strengt taget burde onMouseOver/out kalde funktioner i JS-header på evinstrukser, men dels kunne jeg i dette tilfælde ikke få det til at fungere, og dels viser det hvordan det kan gøres direkte fra kolonnen.

Kolonne 3 i viewet indeholder: "<td width =500>"+InstruksSubject+"</td></tr>". Hvis der skal bruges flere oplysninger i viewet kan dette blot kopieres (og feltnavnet ændres) – dog skal </tr> fjernes og tilføjes den sidste kolonne ( I princippet behøves der ikke at blive brugt en kolonne pr. feltindhold, men det gør det en del mere overskueligt)


Ovenstående danner en overskrift (fra formen) og en linje pr dokument (fra viewet), hvor der ændres baggrundsfarve for dokumentlinjen ved mouse-over  (samt title-tekst) og selve dokumentet åbnes i en nyt vindue når der klikkes. Søgningen må jeg vende tilbage til, den er lidt mere omstændig at forklare.
Avatar billede leif Seniormester
26. december 2006 - 17:58 #23
Ser umiddelbart kanon ud, men hvordan ville man lave det med flere sider så man fx. kun havde 20 på hver side !
Avatar billede mmmtm Nybegynder
26. december 2006 - 19:01 #24
Du tilføjer i url'en: &count=20 (prøv på ex. at skrive &count=1&start=2 på startsiden når du åbner db'en i browseren, så får du kun andet dokument)
Men det skal jo nok være dynamisk, derfor kræver det at man læser url'en via script og derefter beregner sig frem til hvad de næste/forrige sider skal være.
Avatar billede mmmtm Nybegynder
30. december 2006 - 11:03 #25
kan du ellers finde hoved og hale på det ?
Avatar billede leif Seniormester
30. december 2006 - 11:19 #26
Ja, det tror jeg nok
Avatar billede mmmtm Nybegynder
13. januar 2007 - 22:56 #27
Sku vi afslutte den her i denne omgang ?
Avatar billede leif Seniormester
13. januar 2007 - 23:07 #28
Jeg tror jeg skal trappe ned på alle mine projekter ! :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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