Dann versuche doch folgenden Ansatz. Du f�gst in Render() einfach die erste Tabellenzeile per Hand ein. Den Wert f�r colspan bekommst Du heraus, wenn Du alle Columns dieser Tabelle (TestTable) z�hlst. Dann wird dein Objekt mit dem Titel gerendert, und Du hast nur ein Control...
andre.seifert @xmmm.de >-----Urspr�ngliche Nachricht----- >Von: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] Im Auftrag von Michael Schwarz >Gesendet: Montag, 24. Februar 2003 12:08 >An: [EMAIL PROTECTED] >Betreff: [Asp.net] AW: [Asp.net] AW: [Asp.net] AW: [Asp.net] >AW: [Asp.net] AW: [Asp.net] AW: [Asp.net] AW: [Asp.net] Von >Table ableiten L�SUNG > > >> Du begibts Dich, meiner Ansicht nach, mit dieser Zeile in >> eine Endlosschleife. >> >> c.Controls.Add(this); ruft ja wieder Render auf, das wiederum >> c.Controls.Add(this); ausf�hrt usw. usw. > >Stimmt, das k�nnte vielleicht das Problem sein, aber wie mache >ich weiter? > >> Benutze doch das Control einfach 2 mal. > >Das ist ja gerade der Witz gewesen, dass ich eben nur ein >Objekt erzeuge, und damit arbeite. Klar, ich kann auch einfach >zwei Table Objekte nehmen, daf�r brauche ich dann keinerlei >zus�tzliche Klassen. > >Ich m�chte ein Server Control basteln, welches wie die beiden >rechten Controls auf >http://microsoft.com/WindowsServer2003/evaluation/performance/t >pcc2.mspx >aussehen, und jeden beliebigen Content enthalten k�nnen, in >meinem Fall sollen es immer Tabellen sein, bei dem die >abgeleitete Klasse eine zus�tzliche Eigenschaft "Titel" besitzt. > >CIAO >Michael > > > >> >> Das erste mal f�r die "Layout-Tabelle" mit �berschrift >> >> TABELLE1 (TestTable tb1 = new TestTable(); TableRow r = ...) >> >> ************************************ >> **********�BERSCHRIFT*************** >> ************************************ >> ***TABELLE2 (TestTable tb2=...****** >> *** ****** >> *** ****** >> ************************************ >> >> >> >> andre.seifert >> @xmmm.de >> >> >> >-----Urspr�ngliche Nachricht----- >> >Von: [EMAIL PROTECTED] >[mailto:[EMAIL PROTECTED] >> >Im Auftrag von Michael Schwarz >> >Gesendet: Montag, 24. Februar 2003 11:40 >> >An: [EMAIL PROTECTED] >> >Betreff: [Asp.net] AW: [Asp.net] AW: [Asp.net] AW: [Asp.net] >> >AW: [Asp.net] AW: [Asp.net] Von Table ableiten L�SUNG >> > >> > >> >Das klappt, kein Problem. Was ist aber, wenn Du jetzt >folgendes bauen >> >m�chtest, vielleicht ist ein Panel zu einfach... >> > >> >Ich m�chte gerne in einer WebForm ein Control haben, mit dem ich >> >genauso wie mit einer Tabelle arbeiten kann, mein Control muss also >> >von Table abgeleitet sein. Nun kann ich Zeilen und Spalten >> >hinzuf�gen, und meine Tabelle aufbauen. Wenn mein Control nun >> >angezeigt werden soll, dann m�chte ich diese Tabelle, die ich >> >aufgebaut habe, in eine �bergeordnete Tabelle einbauen, in meinem >> >Beispiel in die zweite Zeile. In der ersten Zeile taucht >meinetwegen >> >ein Titel o.�. auf. >> > >> >******************** >> >* �berschrift * >> >******************** >> >* * >> >* eigentliche * >> >* Tabelle * >> >* * >> >******************** >> > >> > >> > >> >public class TestTable : Table >> >{ >> > private string m_header; >> > public string Header >> > { >> > get { return m_header; } >> > set { m_header = value; } >> > } >> > >> > protected override void Render( HtmlTextWriter writer ) >> > { >> > Table main = new Table(); >> > TableRow r = new TableRow(); >> > TableCell c = new TableCell; >> > c.Text = m_header; >> > r.Cells.Add(c); >> > main.Rows.Add(r); >> > >> > r = new TableRow(); >> > c = new TableCell(); >> > c.Controls.Add(this); // hier tritt dann wohl >> >der Fehler auf >> > r.Cells.Add(c); >> > main.Rows.Add(r); >> > >> > main.RenderControl(writer); >> > } >> >} >> > >> > >> > >> > >> >CIAO >> >Michael >> > >> > >> > >> > >> > >> >> -----Urspr�ngliche Nachricht----- >> >> Von: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] >> >> Im Auftrag von Andre Seifert >> >> Gesendet: Montag, 24. Februar 2003 11:26 >> >> An: [EMAIL PROTECTED] >> >> Betreff: [Asp.net] AW: [Asp.net] AW: [Asp.net] AW: [Asp.net] >> >> AW: [Asp.net] Von Table ableiten L�SUNG >> >> >> >> >> >> Okay, habe es mal nachgebaut. >> >> Ich weiss allerdings nicht, was genau Dein Problem ist. >> >> Du kannst doch aus der �berschriebenen Methode Render >> aufrufen, was >> >> Du willst/brauchst >> >> >> >> public class TestPanel : Panel >> >> { >> >> // Die Datenquelle >> >> protected override void Render( HtmlTextWriter writer) >> >> { >> >> Label lb = new Label(); >> >> lb.Text = "Mein Text"; >> >> base.RenderBeginTag(writer); >> >> lb.RenderControl(writer); >> >> base.RenderContents(writer); >> >> base.RenderEndTag(writer); >> >> } >> >> } >> >> >> >> andre.seifert >> >> @xmmm.de >> >> >> >> >> >> >-----Urspr�ngliche Nachricht----- >> >> >Von: [EMAIL PROTECTED] >> >[mailto:[EMAIL PROTECTED] >> >> >Im Auftrag von Michael Schwarz >> >> >Gesendet: Montag, 24. Februar 2003 10:59 >> >> >An: [EMAIL PROTECTED] >> >> >Betreff: [Asp.net] AW: [Asp.net] AW: [Asp.net] AW: [Asp.net] Von >> >> >Table ableiten L�SUNG >> >> > >> >> > >> >> >Hi Andre, >> >> > >> >> >klar, ein einfaches UserControl zu schreiben, welches >> >> >objektorientiert HTML zusammenbaut funktioniert so weit bei >> >mir auch. >> >> >Das Problem ist nur, wenn ich von "Table" ableite, oder >von einem >> >> >anderen Control, und dieses Control Teil der Ausgabe sein soll. >> >> > >> >> >Ist Dein Control abgeleitet von einem anderen Control, also z.B. >> >> >Panel, Table,...? >> >> > >> >> >CIAO >> >> >Michael >> >> > >> >> > >> >> >> -----Urspr�ngliche Nachricht----- >> >> >> Von: [EMAIL PROTECTED] >> >> [mailto:[EMAIL PROTECTED] >> >> >> Im Auftrag von Andre Seifert >> >> >> Gesendet: Montag, 24. Februar 2003 10:50 >> >> >> An: [EMAIL PROTECTED] >> >> >> Betreff: [Asp.net] AW: [Asp.net] AW: [Asp.net] Von >> Table ableiten >> >> >> L�SUNG >> >> >> >> >> >> >> >> >> > container.Controls.Add(this); >> >> >> >> >> >> Was soll denn diese Zeile tun? >> >> >> Du befindest Dich im Objekt TestTable, und willst aus >> >> dieser Tabelle >> >> >> ein Control rendern, dass diese Tabelle beinhaltet... >> >> >> >> >> >> Also ich habe die Methode Render schon erfolgreich mit einem >> >> >> UserControl auch objektorientiert eingesetzt. Mein Control >> >> >> (vergleichbar mit Panel) hat Bilder und Labels in sich >> >aufgenommen >> >> >> und dargestellt. >> >> >> >> >> >> Label lb = new Label(); >> >> >> lb.Text = "Label"; >> >> >> >> >> >> lb.RenderControl(writer); >> >> >> >> >> >> >> >> >> andre.seifert >> >> >> @xmmm.de >> >> >> >> >> >> >> >> >> >-----Urspr�ngliche Nachricht----- >> >> >> >Von: [EMAIL PROTECTED] >> >> >[mailto:[EMAIL PROTECTED] >> >> >> >Im Auftrag von Michael Schwarz >> >> >> >Gesendet: Montag, 24. Februar 2003 10:41 >> >> >> >An: [EMAIL PROTECTED] >> >> >> >Betreff: [Asp.net] AW: [Asp.net] Von Table ableiten L�SUNG >> >> >> > >> >> >> > >> >> >> >Ich habe dazu noch eine Frage: Wie kann ich in der >> >Render Methode >> >> >> >auch objektorientiert arbeiten? Ich stelle mir folgendes vor: >> >> >> > >> >> >> >protected override void Render(HtmlTextWriter writer) { >> >> >> > Panel container = new Panel(); >> >> >> > container.Style.Add("BACKGROUND-COLOR", "black"); >> >> >> > container.Controls.Add(this); >> >> >> > >> >> >> > container.RenderControl(writer); >> >> >> >} >> >> >> > >> >> >> >Ich bekomme dann immer den Fehler "Exception of type >> >> >> >System.StackOverflowException was thrown". >> >> >> > >> >> >> >CIAO >> >> >> >Michael >> >> >> > >> >> >> > >> >> >> >> -----Urspr�ngliche Nachricht----- >> >> >> >> Von: [EMAIL PROTECTED] >> >> >> [mailto:[EMAIL PROTECTED] >> >> >> >> Im Auftrag von >> >> >> Andreas Rudischhauser (N) >> >> >> >> Gesendet: Samstag, 22. Februar 2003 18:50 >> >> >> >> An: [EMAIL PROTECTED] >> >> >> >> Betreff: [Asp.net] Von Table ableiten L�SUNG >> >> >> >> >> >> >> >> >> >> >> >> Folgender Code leitet vom TABLE - Tag ab und erstellt >> >> >> einen div tag >> >> >> >> drumrum. Falls es jemand brauchen kann >> >> >> >> >> >> >> >> using System; >> >> >> >> using System.Text; >> >> >> >> using System.Diagnostics; >> >> >> >> using System.Collections; >> >> >> >> using System.Collections.Specialized; >> >> >> >> using System.ComponentModel; >> >> >> >> using System.Data; >> >> >> >> using System.Data.OleDb; >> >> >> >> using System.Web; >> >> >> >> using System.Web.SessionState; >> >> >> >> using System.Web.UI; >> >> >> >> using System.Web.UI.WebControls; >> >> >> >> using System.Web.UI.HtmlControls; >> >> >> >> using System.Xml; >> >> >> >> >> >> >> >> namespace ASPNetPortal { >> >> >> >> public class TestTable : Table { >> >> >> >> // Die Datenquelle >> >> >> >> protected override void Render( HtmlTextWriter writer) { >> >> >> >> writer.Write("<div style=\"background-color:black\">"); >> >> >> >> // Ruft Oberklasse (Table) auf >> >> >> >> base.Render(writer); >> >> >> >> //Rendert den Inhalt >> >> >> >> RenderChildren(writer); >> >> >> >> >> >> >> >> writer.Write("</div>"); >> >> >> >> } >> >> >> >> } >> >> >> >> } >> >> >> >> >> >> >> >> _______________________________________________ >> >> >> >> Asp.net mailing list >> >> >> >> [EMAIL PROTECTED] >> >> >> >> http://www.glengamoi.com/mailman/listinfo/asp.net >> >> >> >> >> >> >> > >> >> >> >_______________________________________________ >> >> >> >Asp.net mailing list >> >> >> >[EMAIL PROTECTED] >> >> >> http://www.glengamoi.com/mailman/listinfo/asp.net >> >> >> > >> >> >> >> >> >> >> >> >> _______________________________________________ >> >> >> Asp.net mailing list >> >> >> [EMAIL PROTECTED] >> >> >> http://www.glengamoi.com/mailman/listinfo/asp.net >> >> >> >> >> > >> >> >_______________________________________________ >> >> >Asp.net mailing list >> >> >[EMAIL PROTECTED] >> >> http://www.glengamoi.com/mailman/listinfo/asp.net >> >> > >> >> >> >> >> >> _______________________________________________ >> >> Asp.net mailing list >> >> [EMAIL PROTECTED] >> >> http://www.glengamoi.com/mailman/listinfo/asp.net >> >> >> > >> >_______________________________________________ >> >Asp.net mailing list >> >[EMAIL PROTECTED] >> http://www.glengamoi.com/mailman/listinfo/asp.net >> > >> >> >> _______________________________________________ >> Asp.net mailing list >> [EMAIL PROTECTED] >> http://www.glengamoi.com/mailman/listinfo/asp.net >> > >_______________________________________________ >Asp.net mailing list >[EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net > _______________________________________________ Asp.net mailing list [EMAIL PROTECTED] http://www.glengamoi.com/mailman/listinfo/asp.net
