Die Idee ist grunds�tzlich ok - nur frage ich mich - ob das weniger Aufwand ist 
- als wenn Du direkt f�r jedes druckbare Objekt ein eigenes Control f�r die 
Druckausgabe erstellst.

Ich denke - ein Designer hat es deutlich einfacher - wenn er direkt eine ASCX 
Seite - an die neuen W�nsche anpasst - als wenn dies jedes mal im Code gemacht 
werden muss - und dann vielleicht auch jedes mal ne neue DLL hochgespielt 
werden muss.

Ein anderer Ansatz w�re es - wenn Du deiner print_view.aspx Seite - eine 
Methode gibst - die anhand des QueryStrings einfach den Namen des Objektes 
(welches gedruckt werden soll) sowie die ID des Eintrages �bergibt. Diese ruft 
dann das entsprechende Druck Control ab - und zeigt die Druckansicht an!

Etwa so:

QueryString: print_view.aspx?obj=news&id=3

Im CS Code k�nnte dann stehen.

String obj= Page.Request.QueryString["obj"];
Int id = Convert.toInt32(Page.Request.QueryString["obj"]);
Switch (obj)
        Case "news" :
                .. hier jetzt das News Print Control abrufen - und einem 
PlaceHolder hinzuf�gen.
                Break;
        Case "..." :
                ...
        Case "..." :
                ...
Usw.

Ist nat�rlich nur ein Grob�berblick - und es gibt sicher auch noch tausend 
andere Ideen.

-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Thomas Beckert
Gesendet: Dienstag, 26. April 2005 16:43
An: [email protected]
Betreff: Re: AW: [Asp.net] Tabelle kopieren

mh. vielleicht habt ihr ja auch eine andere idee.

ich habe eine seite print_view.aspx, auf der ich diverse inhalte von der 
seite als ausdruck darstellen m�chte. da die inhalte variieren, dachte ich 
mir, ich bilde eine einheitliche schnittstelle, indem einfach immer die 
session "printtext" ausgelesen wird, in der die table drin ist, die 
auszudrucken ist.
so ist es egal, von wo ich komme, ich muss vorher nur einmal eine table 
erzeugen.

zur zeit sitze ich an einem kontaktformular, das man auch ausdrucken k�nnen 
soll, nat�rlich ohne textboxen. also erzeuge ich mir nach druck auf den 
print-button eine tabelle mit den infos und speicher die in der session:

           Dim tablePrint As Table = New Table()
            Dim tbRow,tbRow2 As TableRow
            Dim objCell As TableCell

            tbRow = New TableRow()

           'Stammdaten erzeugen
            objCell = New TableCell()
            objCell.cssClass = "head1"
            objCell.HorizontalAlign = HorizontalAlign.Left
            objCell.Controls.Add(New LiteralControl("Name: "))

            tbRow.Cells.Add(objCell)

            objCell = New TableCell()
            objCell.HorizontalAlign = HorizontalAlign.Left
            objCell.Controls.Add(New LiteralControl(tbVorname.Text & " " & 
tbName.Text))

            tbRow.Cells.Add(objCell)
            tablePrint.Rows.Add(tbRow)

            tbRow = New TableRow()

           'Stammdaten erzeugen
            objCell = New TableCell()
            objCell.cssClass = "head1"
            objCell.HorizontalAlign = HorizontalAlign.Left
            objCell.Controls.Add(New LiteralControl("Anschrift: "))

            tbRow.Cells.Add(objCell)

            objCell = New TableCell()
            objCell.HorizontalAlign = HorizontalAlign.Left
            objCell.Controls.Add(New LiteralControl(tbStrasse.Text & " " & 
tbOrt.Text))

            tbRow.Cells.Add(objCell)
            tablePrint.Rows.Add(tbRow)

            'Anfrage Ausdruck
            If Request("id") = "" Then

               '�berschrift einf�gen
                tbRow2 = New TableRow()
                objCell = New TableCell()
                objCell.cssClass = "head2"
                objCell.HorizontalAlign = HorizontalAlign.Center
                objCell.Controls.Add(New LiteralControl("Anfrage"))
                'objCell.ColumnSpan = 2

                tbRow2.Cells.Add(objCell)
                tbRow2.Cells.Add(objCell)
                tablePrint.Rows.Add(tbRow2)

                Session("printText") = tablePrint
            End If

hab aber nicht gedacht, dass das so ein problem wird. dachte, ich kann das 
dann einfach referenzieren. :-/


----- Original Message ----- 
From: "Laszlo Pinter" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, April 26, 2005 4:42 PM
Subject: AW: AW: [Asp.net] Tabelle kopieren


Hallo Thomas,

Ich glaube "tablePrintText.Rows.Add(row)" braucht ein Index der bei null(0)
beginnen sollte:

tablePrintText.Rows(i).Add(row)

Vielleicht solltest du, wenn du dir M�glichkeit hast, doch ein DataTable
nehmen.
Siehe mail von Meik.

Gr�sse

Laszlo

>>-----Urspr�ngliche Nachricht-----
>>Von: Thomas Beckert [mailto:[EMAIL PROTECTED]
>>Gesendet: Dienstag, 26. April 2005 13:09
>>An: [email protected]
>>Betreff: Re: AW: [Asp.net] Tabelle kopieren
>>
>>Hi Laszlo,
>>
>>danke f�r deine antwort.
>>habe das auch schon ausprobiert und haben sogar gepr�ft, ob
>>die session gef�llt ist. bekomme aber immer folgende fehlermeldung:
>>
>>System.ArgumentOutOfRangeException: Specified argument was
>>out of the range of valid values.
>>Parameter name: index
>>
>>Source Error:
>>
>>
>>Line 14:             dim row As TableRow
>>Line 15:             for i=0 To tableTemp.Rows.Count-1
>>Line 16:                 row = tableTemp.Rows(i)
>>Line 17:                 tablePrintText.Rows.Add(row)
>>Line 18:             Next
>>
>>wenn das outOfRange ist, d�rfe er die for-schleife doch gar
>>nicht durchlaufen, sprich, wenn die tableTemp leer w�re. ???
>>
>>
>>
>>----- Original Message -----
>>From: Laszlo Pinter
>>To:  <[email protected]>
>>Sent: Tue, 26 Apr 2005 13:01:05 +0200
>>Subject: AW: [Asp.net] Tabelle kopieren
>>
>>Hallo Tom,
>>
>>Probiere mal so:
>>
>> Dim i As Integer
>>       Dim tableTemp As Table = CType(Session("table"), Table)
>>       For i = 0 To tableTemp.Rows.Count - 1
>>            Dim mytblnewrow As TableRow = tableTemp.Rows(i)
>> tableTemp.Rows.Add(mytblnewrow)
>>       Next
>>Habe ich nicht getestet (ein bissi zusammengereimt von hier:
>>http://wap.tutorials.de/t-23938.html). Ich k�nnte mir
>>vorstellen dass es daran scheitert dass deine Tabelle "leer" ist.
>>
>>Gr��e
>>
>>Laszlo
>>>>-----Urspr�ngliche Nachricht-----
>>>>Von: Thomas Beckert [mailto:[EMAIL PROTECTED]
>>>>Gesendet: Dienstag, 26. April 2005 12:35
>>>>An: [email protected]
>>>>Betreff: [Asp.net] Tabelle kopieren
>>>>
>>>>Hi Liste -
>>>>
>>>>vielleicht ist meine Email gestern untergegangen, habe leider immer
>>>>noch keine L�sung gefunden.
>>>>
>>>>Nur mal zum Verst�ndnis- folgendes m��te doch gehen:
>>>>
>>>>Ich speichere ein Table-Objekt in eine Session-Variable und machen
>>>>danach ein response.redirect.
>>>>auf der neuen Seite leg ich mir ein Table-Objekt an und
>>weise diesem
>>>>die Table aus meiner Session
>>>>zu:
>>>>
>>>>Dim tableTemp As table = CType(Session("table"),Table)
>>>>
>>>>jetzt habe ich auf der aspx-Seite bereits eine Tabelle <asp:table
>>>>id="myTable" runat="server" />
>>>>
>>>>Jetzt sollte ich doch mit:
>>>>
>>>>for i=0 to tableTemp.Rows.Count-1
>>>>        myTable.Rows.Add(tableTemp.Rows(i))
>>>>next
>>>>
>>>>die tempTabelle in myTable kopieren k�nnen. Geht vielleicht
>>auch noch
>>>>einfacher, keine Ahnung. Mein Problem ist, dass es gar
>>nciht geht. :-(
>>>>
>>>>Hilfe!
>>>>
>>>>Danke.
>>>>
>>>>
>>>>Tom
>>>>
>>>>
>>_______________________________________________
>>Asp.net Mailingliste, Postings senden an:
>>[email protected]
>>An-/Abmeldung und Suchfunktion unter:
>>http://www.glengamoi.com/mailman/listinfo/asp.net
>>
>>
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net


_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

_______________________________________________
Asp.net Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net

Antwort per Email an