ASP.Net und MS SQL

MSuter

Erfahrenes Mitglied
Kann mir wer sagen wie ich alle Werte einer Datenbank in eine HTML-Tabelle kriegen kann? Mit einem DataGrid ist das ja kein Problem, ich würde die Tags (<table>,<tr>,...) aber gerne selber schreiben damit ich links und alles anpassen kann wie ich will! wie krieg ich das hin?

Gruss MSuter
 

SteKo

Erfahrenes Mitglied
erst die daten in eine dataset einlesen und das

dim row as datarow
for each row in Dataset
.... daten in deine tabelle schreiben

wenn du mehr code brauchst poste ich den heut abend mal...

mfg
 

MSuter

Erfahrenes Mitglied
Ich progge erst seit kurzem in ASP.net, asp kenn ich überhaupt nicht, daher wäre ich froh, wenn du noch ein bisschen mehr code Posten könntest als das hier, Danke

Gruss MSuter
 

MSuter

Erfahrenes Mitglied
Gehts ein Bisschen genauer?

Bisher sieht mein Code Folgendermassen aus: (Wie du siehst siehst Areite ich mit CodeBehind!!)

PHP:
<%@ Page language="c#" Codebehind="Personen.aspx.cs" AutoEventWireup="false" Inherits="Materialverwaltung.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
	<HEAD>
		<title>..::CHSEM Personen-Liste::..</title>
		<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
		<meta content="C#" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
		<link rel="stylesheet" href="./Standart.css" type="text/css">
	</HEAD>
	<body MS_POSITIONING="GridLayout">
		<form id="Form1" method="post" runat="server">
			<div align="center"><asp:label id="lblTitel" runat="server" Width="144px" Height="40px" Font-Names="Verdana" Font-Size="20pt" Font-Underline="True">Personen:</asp:label><br>
				<br>
				//Hier soll die Tabelle hin
			</div>
		</form>
	</body>
</HTML>

Gruss MSuter
 

Christian Fein

Erfahrenes Mitglied
Ganz einfach:

nutze einen <asp:placeholder

diesen übergibst du per referenz an die
base.page_load.

Den Placeholder kannst du dann im codebehind mit Controlls füllen.

Weine Möglichkeit währe du arbeitest mit der
System.Web.UI.WebControls.Table Klasse
oder aber du arbeitest
mit
System.Web.UI.HtmlControls.Table Klasse
oder direkt mit
System.Web.UI.HtmlControls.GenirikControll

Ich beschreibe mal die WebControls.Table Klassse

Die Klasse beeinhaltet eine Row Collection die du mit cells füllen kannst das sieht dann ungefair so aus:

Code:
Table MyTbl = new Table();
TableRow MyRw = new TableRow();

MyRow.Cells.Add(new TableCell());
MyRow.Cells.Add(new TableCell());

MyRw.Cells[0].Text = "Das steht in der Cell";

MyTbl.Rows.Add(MyRw);

// die Fertige Tabelle an den Placeholder übergeben.

MyPlaceH.Controls.Add(MyTbl);


Dies währe also eine Table aller
Code:
<table ..... runat=server>
<tr>
  <td>Das steht in der Cell</td>
  <td></td>
</tr>
</table>

Mit dem Vorteil äusserst leicht mit Codebehind zu bearbeiten ist.
 

SteKo

Erfahrenes Mitglied
wenn du es so machst würd ich garnicht erst einen placeholder platzieren sondern direkt eine asp table und der neue rows hinzufügen.

mfg
 

MSuter

Erfahrenes Mitglied
Danke, dank euch bin ich schon mal n'Stück weiter!

@SteKo:
Gefällt mir doch mit asp Tables, habs anfangs bloss nicht so begriffen, und da ich aus PHP komme,
wollt erst die TAGS selber schreiben. Bei deiner Variante hab ich bloss ein Problem:

<asp:HyperLinkColumn Text="Userdetails" ... Visible=variable></asp:HyperLinkColumn>

Wie krieg ich da bei visible ne Variable rein, welche ich im Code als bool deklariert habe?

Gruss MSuter
 

SteKo

Erfahrenes Mitglied
<asp:HyperLinkColumn Text="Userdetails" ... Visible=<%variable%>></asp:HyperLinkColumn>

so sollte das gehen...
dann einfach im code behind ne public variable deklraieren
 

MSuter

Erfahrenes Mitglied
Genau so hab ichs versucht, aber das geht nicht!!

Da meint er bloss dies:

'<%Variable%' ist kein gültiger Wert für Boolean.

Und wenn ich es in Anführungszeichen schreibe, dann gibt er folgendes aus:

'<%Variable%>' ist kein gültiger Wert für Boolean.

Gruss MSuter