Die Webadresse geht bei mir im Moment irgendwie nicht...! :(
Ich habe hier einen anderen L�sungsansatz, f�r mich aber irgendwie
umst�ndlich, da Description f�r mich soetwas �hnliches wie der Border
oder die Hintergrundfarbe der Tabelle ist. Ich habe in meinem Control
eine Property "SubTable", und die kann ich mit einer Tabelle f�llen, des
weiteren Description...
public class TestTable : WebControl
{
public string Description;
public Table SubTable;
protected override void Render( HtmlTextWriter writer)
{
Table t = new Table();
TableRow r = new TableRow();
TableCell c = new TableCell();
c.Controls.Add(SubTable);
r.Cells.Add(c);
t.Rows.Add(r);
c = new TableCell();
r = new TableRow();
c.Style.Add("FONT-FAMILY", "Tahoma");
c.Style.Add("FONT-SIZE", "10px");
c.HorizontalAlign = HorizontalAlign.Center;
c.Text = this.Description;
r.Cells.Add(c);
t.Rows.Add(r);
t.RenderControl(writer);
}
}
Und das Control benutze ich dann wie folgt in meiner WebForm:
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
private void Page_Load(object sender, System.EventArgs
e)
{
TestTable x = new TestTable();
Table t = new Table();
TableRow r = new TableRow();
TableCell c = new TableCell();
c.Text = "Vorname";
r.Cells.Add(c);
c = new TableCell();
c.Text = "Nachname";
r.Cells.Add(c);
c = new TableCell();
c.Text = "Stra�e";
r.Cells.Add(c);
c = new TableCell();
c.Text = "Ort";
r.Cells.Add(c);
t.Rows.Add(r);
x.Description = "Das ist meine Beschreibung";
x.SubTable = t;
Label1.Controls.Add(x);
}
}
CIAO
Michael
> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Im Auftrag von Andre Seifert
> Gesendet: Montag, 24. Februar 2003 12:21
> 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] AW:
> [Asp.net] Von Table ableiten L�SUNG
>
>
> Obwohl ich glaube, dass das eher ein Panel mit �berschrift ist.
>
> Unter http://www.asp-buch.de/downloads/controls/ findest Du
> etwas �hnliches. "DropDownPanel" vom Autor des Buches. Man
> m�sste eben eine DataList oder einen Repeater da rein
> bekommen, habe ich aber auch noch nicht ausprobiert...
>
> 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
>
_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net