/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
betingelse til at styre sideskift
Fra : helle lindholm


Dato : 17-04-05 15:38

Hej
Jeg her en lang tabel med dynamisk indhold , som strækker sig
over flere sider. Jeg vil gerne styrer udprintningen således at
hver ny side starter med en ny række. Det er ikke lykkes for mig
at styrer det vedhjælp af css, så derfor vil jeg nu prøve om det
kan lade sig gøre med en betingelse.
Hvordan gør man det? og hvorlang er en A4 side i px
Jeg forestiller mig noget med

If table height> 500 Then
page-break    
End If

det virker dog ikke

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Johnny Winther Ronne~ (17-04-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 17-04-05 18:20


"helle lindholm" <helle_333@hotmail.com> skrev i en meddelelse
news:426274cb$0$79462$14726298@news.sunsite.dk...
> Hej
> Jeg her en lang tabel med dynamisk indhold , som strækker sig
> over flere sider. Jeg vil gerne styrer udprintningen således at
> hver ny side starter med en ny række. Det er ikke lykkes for mig
> at styrer det vedhjælp af css, så derfor vil jeg nu prøve om det
> kan lade sig gøre med en betingelse.
> Hvordan gør man det? og hvorlang er en A4 side i px
> Jeg forestiller mig noget med
>
> If table height> 500 Then
> page-break
> End If
>
> det virker dog ikke
>

Og det kommer det heller ikke til. Og du er ikke den første der har forsøgt
at styre printeren.

Mig bekendt er det ikke lykkedes nogen endnu, du kan ændre på sidens
udseende og udelade billeder, bagrunde, definere farver og
skriftstørrelser. Men at definere hvorledes printer driveren skal afkode og
fortolke siden linie for linie er det ikke muligt pt. via HTML, CSS eller
Scripting.

Jeg har godt set din forespørgel i en af de andre grupper og der var rådet
at bruge <thead> <tfoot> men det virker ikke. Men det gør det i Word fra
2000 og op, det er muligt det også gør det i 97, det har jeg aldrig prøvet.

Så det bedste du kan gøre er at konvertere til Word format men det vil ikke
fungere dynamisk det skal være en statisk fil, når det er til webbrug. Det
vil løse dit problem i forhold til brugere der kører windows. Hvis du gør
det skal filen gemmes i det ældste version, du kan komme til, så vil brugere
uden Office have en chance for at bruge wordpad til at udskrive det. Det ser
ud som om det er browseren der gør det, men det er wordpad.

Men det er en meget snavset løsning, jeg vil anbefale dig at droppe at
kontrollere udskriften, det vil ikke give dig andet en sorger.

Der er ting der ikke kan kontrolleres, selv om det kan være surt.

Med venlig hilsen
Johnny Winther Ronnenberg



helle lindholm (17-04-2005)
Kommentar
Fra : helle lindholm


Dato : 17-04-05 21:16

Hej Johnny
>
> Men det er en meget snavset løsning, jeg vil anbefale dig at droppe at
> kontrollere udskriften, det vil ikke give dig andet en sorger.

Jeg var ellers meget opsat på at problemet skulle løses

>
> Der er ting der ikke kan kontrolleres, selv om det kan være surt.
>
Tusinde tak for dit svar, så vil jeg kapitulere og beskæftige mig med noget
andet, der kan kontrolleres.

Med venlig hilsen
Helle Lindholm
>

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jørn Andersen (17-04-2005)
Kommentar
Fra : Jørn Andersen


Dato : 17-04-05 22:45

On Sun, 17 Apr 2005 19:20:22 +0200, "Johnny Winther Ronnenberg"
<johnny.winther@XYZ789tdcadsl.dk> wrote:

>"helle lindholm" <helle_333@hotmail.com> skrev i en meddelelse
<snip>
>> Jeg vil gerne styrer udprintningen således at
>> hver ny side starter med en ny række.

>> Jeg forestiller mig noget med
>>
>> If table height> 500 Then
>> page-break
>> End If
>>
>> det virker dog ikke
>>
>
>Og det kommer det heller ikke til. Og du er ikke den første der har forsøgt
>at styre printeren.
>
>Mig bekendt er det ikke lykkedes nogen endnu, du kan ændre på sidens
>udseende og udelade billeder, bagrunde, definere farver og
>skriftstørrelser. Men at definere hvorledes printer driveren skal afkode og
>fortolke siden linie for linie er det ikke muligt pt. via HTML, CSS eller
>Scripting.

Nu ikke så negativ
Jeg er enig i, at det ikke er nemt at få en *god* løsning - og
specielt er MS Internet Explorer ikke særlig god til udskrift.

Men det betyder ikke, at man ikke kan gøre *noget*. Også med HTML.

Som Ricky skriver:
---------
Prøv at lege lidt med dette:
<p class="breakhere"></p>
P.breakhere {
   page-break-before: always
}
---------

- skal vi have fat i 'page-break-before'. Om det så lige er til et
"p", et "tr" eller hvad, afhænger af opgaven.

En løsning, jeg har brugt nogle gange er:
1) Lad en tæller i ASP tælle op til det antal rækker, man vil have på
en side (her må man eksperimentere - hellere for få linier end for
mange).
2) Indsæt en tom række med ovennævnte CSS-egenskab:
<tr style="page-break-before:always;">
<td colspan="-whatever-">
<p>&nbsp;</p>
</td>
</tr>
- eller afslut tabellen og start en ny. (MSIE har det svært med at
dele i tabeller).
3) Nulstil tæller og fortsæt med de næste rækker.

Løsningen er ikke optimal - den tager fx ikke højde for, at folk
(klienten) bruger forskellige skrifttyper og -størrelser. Og det må
man jo så give folk en advarsel/vejledning vedrørende.

Men det kan altså lade sig gøre, hvis kravene ikke er for kritiske.

Man kan optimere det hele en del ved at lave separate stylesheets til
skærm (media="screen") og til udskrift (media="print").
Kunsten er at bruge relative størrelses-angivelser på skærmen og
absolutte (pt) på papir + at bruge samspillet mellem de to til at
bestemme hvilke elementer, der skal vises på hhv. skærm og udskrift.

<snip Word som alternativ>
Et andet alternativ, som *kan* styres, er selvfølgelig at bruge ASP
til at generere en PDF-fil. Det er heller ikke uproblematisk, men til
gengæld er resultatet oftest betydeligt bedre.

>jeg vil anbefale dig at droppe at
>kontrollere udskriften, det vil ikke give dig andet en sorger.

Sorger, ja - men måske i nogle tilfælde også et brugbart resultat

Good luck,
Jørn

--
Jørn Andersen,
Brønshøj

Johnny Winther Ronne~ (18-04-2005)
Kommentar
Fra : Johnny Winther Ronne~


Dato : 18-04-05 11:14


"Jørn Andersen" <jorn@jorna.dk> skrev i en meddelelse
news:lkk56199apinnemvkjg4u57jjc4f49ci93@4ax.com...
> On Sun, 17 Apr 2005 19:20:22 +0200, "Johnny Winther Ronnenberg"
> <johnny.winther@XYZ789tdcadsl.dk> wrote:
>
> >Mig bekendt er det ikke lykkedes nogen endnu, du kan ændre på sidens
> >udseende og udelade billeder, bagrunde, definere farver og
> >skriftstørrelser. Men at definere hvorledes printer driveren skal afkode
og
> >fortolke siden linie for linie er det ikke muligt pt. via HTML, CSS eller
> >Scripting.
>
> Nu ikke så negativ
> Jeg er enig i, at det ikke er nemt at få en *god* løsning - og
> specielt er MS Internet Explorer ikke særlig god til udskrift.
>

Den ene del af problemet er at CSS2 ikke er implementeret i IE, enig.

> Men det betyder ikke, at man ikke kan gøre *noget*. Også med HTML.
>
> Som Ricky skriver:
> ---------
> Prøv at lege lidt med dette:
> <p class="breakhere"></p>
> P.breakhere {
> page-break-before: always
> }
> ---------
>
> - skal vi have fat i 'page-break-before'. Om det så lige er til et
> "p", et "tr" eller hvad, afhænger af opgaven.
>
> En løsning, jeg har brugt nogle gange er:
> 1) Lad en tæller i ASP tælle op til det antal rækker, man vil have på
> en side (her må man eksperimentere - hellere for få linier end for
> mange).
> 2) Indsæt en tom række med ovennævnte CSS-egenskab:
> <tr style="page-break-before:always;">
> <td colspan="-whatever-">
> <p>&nbsp;</p>
> </td>
> </tr>
> - eller afslut tabellen og start en ny. (MSIE har det svært med at
> dele i tabeller).
> 3) Nulstil tæller og fortsæt med de næste rækker.
>
> Løsningen er ikke optimal - den tager fx ikke højde for, at folk
> (klienten) bruger forskellige skrifttyper og -størrelser. Og det må
> man jo så give folk en advarsel/vejledning vedrørende.
>

Fontstørrelser, predefinerede printer margener, og så forstår IE ikke
rigtigt @page ideen, som ellers er en rigtig god ide. Hvilket præcist var
grunden til mit svar.

Der kører pt en længere tråd i en af de andre webdesign grupper netop om at
styre printeren blandt andet margener.

> Men det kan altså lade sig gøre, hvis kravene ikke er for kritiske.
>

Det er her problemet opstår, vi vil alle gerne have en perfekt løsning, men
det er stort set umuligt. Jeg kender problemet fra intranet udvikling, så
derfor ved jeg også, at det der fungere når man sender en side til en
printer, ikke virker når man sender det til en anden.

> Man kan optimere det hele en del ved at lave separate stylesheets til
> skærm (media="screen") og til udskrift (media="print").
> Kunsten er at bruge relative størrelses-angivelser på skærmen og
> absolutte (pt) på papir + at bruge samspillet mellem de to til at
> bestemme hvilke elementer, der skal vises på hhv. skærm og udskrift.
>

Media og dobbelte sheets er en udmærket løsning hvis ellers det bliver
fortolket rigtigt.

> <snip Word som alternativ>
> Et andet alternativ, som *kan* styres, er selvfølgelig at bruge ASP
> til at generere en PDF-fil. Det er heller ikke uproblematisk, men til
> gengæld er resultatet oftest betydeligt bedre.
>

Det er jeg enig i, men det forudsætter at PDF filen er konstrueret rigtigt
eller får man også nogen underlige udskrifter

> >jeg vil anbefale dig at droppe at
> >kontrollere udskriften, det vil ikke give dig andet en sorger.
>
> Sorger, ja - men måske i nogle tilfælde også et brugbart resultat
>

Men efter at set problemet i praksis på et intranet hvor der kun var IE 5.0,
5.5 og 6.0 og hvor der stort set kun var HP printere af variende alder og
model. Så ved jeg, at resultatet sjældent bliver særligt brugbart, i al fald
ikke, hvis man forventer en trykvalitet som den man får fra f.eks. Word.

For udskrifter har man grundlæggende set, de samme problemer som man har ved
meget stramt definerede hjemmesider, der på pixel niveau er lavet til en
given skærmstørrelse, fuldt maksimeret, i en bestemt browser. Det ser ud vil
at virke, det gør det bare ikke i virkeligheden.

Med venlig hilsen
Johnny Winther Ronnenberg



Ricky (17-04-2005)
Kommentar
Fra : Ricky


Dato : 17-04-05 22:00

helle lindholm wrote:
> Hej
> Jeg her en lang tabel med dynamisk indhold , som strækker sig
> over flere sider. Jeg vil gerne styrer udprintningen således at
> hver ny side starter med en ny række. Det er ikke lykkes for mig
> at styrer det vedhjælp af css, så derfor vil jeg nu prøve om det
> kan lade sig gøre med en betingelse.
> Hvordan gør man det? og hvorlang er en A4 side i px
> Jeg forestiller mig noget med
>
> If table height> 500 Then
> page-break    
> End If
>
> det virker dog ikke
>

Prøv at lege lidt med dette:

<p class="breakhere"></p>


P.breakhere {
   page-break-before: always
}



Mvh
Ricky

helle lindholm (18-04-2005)
Kommentar
Fra : helle lindholm


Dato : 18-04-05 15:52

Hej Ricky

> Prøv at lege lidt med dette:
>
> <p class="breakhere"></p>
>
>
> P.breakhere {
>    page-break-before: always
> }
Jeg har prøvet ,men det virker heller ikke

mvh
helle Lindholm



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste