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

Antwort per Email an