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)
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).
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.
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...
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) ?
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.
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.
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.
Jeg tror jeg skal trappe ned på alle mine projekter ! :-)
Synes godt om
Ny brugerNybegynder
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.