Zum Inhalt springen

ASP.Net dynamisch HTML Tabelle generieren


Empfohlene Beiträge

Geschrieben

du errechnest im ASP.NET-Code wie viele Spalten/Zeilen die Tabelle haben soll, baust den HTML-Code dann im ASP.NET-Code zusammen und schreibst den zusammengebauten Code dann per Response.Write oder mittels eines asp:labels auf die Seite.

Geschrieben

Ja das Problem ist nur das mir der Name der Funktion um den HTMl Code zu schreiben nicht mehr einfällt. Ich habs mal mit der HtmlWriter Klasse probiert aber das hat irgendwie nichts bewirkt.

Response.Write ist ja nur für Testausgaben geeignet, weil der damit ausgegebene Text immer am Anfang des Html Codes steht.

Geschrieben
Ja das Problem ist nur das mir der Name der Funktion um den HTMl Code zu schreiben nicht mehr einfällt. Ich habs mal mit der HtmlWriter Klasse probiert aber das hat irgendwie nichts bewirkt.

[...]

Response.Write ist ja nur für Testausgaben geeignet, weil der damit ausgegebene Text immer am Anfang des Html Codes steht.

HtmlWriter sagt mir nix in zusammenhang mit ASP.NET, aber die klassen HtmlTable, HtmlTableCell und HtmlTableRow sind speziell dafür da, daten in tabellen, zeilen und zellen rauszuschreiben. sind im namespace System.Web.UI definiert, AFAIR.

wenn der inhalt der dynamischen tabelle (was ich annehme) aus einer datenbank o.ö. kommt, empfiehlt sich auch die verwendung eines DataGrid / DataSet aus System.Data.

s'Amstel

Geschrieben

Das ist doch ganz einfach, wenn Du beim Page_Load die Anzahl der Zeilen/Spalten kennst.

Du legst im ASP.NET "HTML"-Text-Teil eine ganz normale, aber leere, Tabelle an, gibst ihr aber zusätzlich eine id und setzt die runat Eigenschaft auf "server". Nun kannst Du auf die Tabelle wie auf ein Objekt, dass den Namen trägt, den Du als id angegeben hast, zugreifen und nach belieben Veränderungen vornehmen.

Du musst den HTML-Quelltext für die fertige Tabelle also nicht selbst erzeugen und als Zeichenkette herausschreiben, sondern kannst die Erzeugung der "<tr>"s und "<td>"s der ASP.NET Runtime überlassen.

Brauchst Du ein Beispiel?

  • 1 Jahr später...
Geschrieben

Der Code deine Default.aspx-Datei:


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Meine dynamische Tabelle</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Table ID="myDynamicTable" runat="server" GridLines="Both">
</asp:Table>
</div>
</form>
</body>
</html>

[/PHP]

Und als Code-Behind dieses hier:

[code] using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { int numRows = 10; int numCols = 5; for (int r = 0; r < numRows; r++) { TableRow myRow = new TableRow(); for (int c = 0; c < numCols; c++) { TableCell myCell = new TableCell(); myCell.Controls.Add(new LiteralControl("myRow: " + r.ToString() + ", myCell: " + c.ToString())); myRow.Cells.Add(myCell); } myDynamicTable.Rows.Add(myRow); } } } [/code]

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...