Hallo Janko,
es existieren viele Wege. 2(+1) habe ich unten abgehandelt.
1) Der beste Weg d�rfte sein, ein eigenes DataGrid zu entwerfen und
entsprechende Vorlagebereiche in einem Custom Tag zu kapseln. Das ist
allerdings auch mit etwas Aufwand verbunden, jedoch aus der Sicht der
Projektverwaltung und Wiederverwendbarkeit von Quelltexten und der
Testverwaltung die zu pr�ferierende Vorgehensweise. Ansonsten ist der im
.NET Framework mitgelieferte Tag nicht weiter ver�nderbar
<hoffentlich schreit jetzt niemand />, jedoch vererbbar ;-).
2) Ein weiterer Weg, den Du dann in Codebibliotheken oder WebControls
zum Beispiel mit Dreamweaver MX wiederverwenden kannst, ist die
Erstellung "Deines" Layouts (Tabellen, Flashobjekte u.s.w.), bestehend
aus mehreren Tabllen und deren Anordnung. Danach schachtelst Du die
Region mit einem Repeater Element (und wiederholst Sie damit f�r jeden
Datensatz, den Du vorh�lst). Auch das geht wieder mit dem Dreamweaver MX
sehr einfach und ein Paging ist total schnell angepasst. Ich habe f�r
folgendes Beispiel mit dem DWMX 2 Minuten gebraucht. Es sollte mit jedem
anderen Tool, ich verwende sonst noch VS.NET genauso gehen, nur die Tags
sehen etwas anders aus. Im unten gezeigten Beispiel wurde
konsequenterweise jeder Code ausgelagert. Das Paging habe ich auch mit
dazu gebaut. OK, sch�n machen musst Du es selbst, gilt auch f�r Dein
Tabellenlayout.
<%@ Page Language="C#" ContentType="text/html"
ResponseEncoding="iso-8859-1" %>
<%@ Register TagPrefix="MM" Namespace="DreamweaverCtrls"
Assembly="DreamweaverCtrls,version=1.0.0.0,publicKeyToken=836f606ede05d4
6a,culture=neutral" %>
<MM:DataSet
id="DataSet1"
runat="Server"
IsStoredProcedure="false"
ConnectionString='<%#
System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_ST
RING_conNewsFlash"] %>'
DatabaseType='<%#
System.Configuration.ConfigurationSettings.AppSettings["MM_CONNECTION_DA
TABASETYPE_conNewsFlash"] %>'
CommandText='<%# "SELECT * FROM newpostings" %>'
Debug="true" PageSize="1" CurrentPage='<%#
((Request.QueryString["DataSet1_CurrentPage"] != null) &&
(Request.QueryString["DataSet1_CurrentPage"].Length > 0)) ?
Int32.Parse(Request.QueryString["DataSet1_CurrentPage"]) : 0 %>'
> </MM:DataSet>
<MM:PageBind runat="server" PostBackBind="true" />
<html>
<head>
<title>NEWSFLASH</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<ASP:Repeater runat="server" DataSource='<%# DataSet1.DefaultView %>'>
<ItemTemplate>
<!-- HIER KOMMT JETZT DEINE LAYOUT IDEE -->
<p><b>
<%# DataSet1.FieldValue("header", Container) %>
</b><br>
<%# DataSet1.FieldValue("teaser", Container) %>
<br>
<a href="show.aspx?cid=<%# DataSet1.FieldValue("cid", Container)
%>">full story </a></p>
<!-- HIER IST JETZT DEIN LAYOUT ZU ENDE -->
</ItemTemplate>
</ASP:Repeater>
<p> Datensätze <%= (DataSet1.RecordCount == 0) ? 0 :
(DataSet1.StartRecord + 1) %> bis <%= DataSet1.EndRecord %> von <%=
DataSet1.RecordCount %> <br>
<MM:If runat="server" Expression='<%# (DataSet1.CurrentPage != 0) %>'>
<ContentsTemplate> <a href="<%#
Request.ServerVariables["SCRIPT_NAME"]
%>?DataSet1_currentPage=0">Erster</a>
</ContentsTemplate>
</MM:If> <MM:If runat="server" Expression='<%#
(DataSet1.CurrentPage != 0) %>'>
<ContentsTemplate> <a href="../wwwroot/app/<%#
Request.ServerVariables["SCRIPT_NAME"] %>?DataSet1_currentPage=<%#
DataSet1.CurrentPage - 1 %>">Zurück</a>
</ContentsTemplate>
</MM:If> <MM:If runat="server" Expression='<%#
(DataSet1.CurrentPage < DataSet1.LastPage) %>'>
<ContentsTemplate> <a href="../wwwroot/app/<%#
Request.ServerVariables["SCRIPT_NAME"] %>?DataSet1_currentPage=<%#
DataSet1.CurrentPage + 1 %>">Vor</a>
</ContentsTemplate>
</MM:If> <MM:If runat="server" Expression='<%#
(DataSet1.CurrentPage < DataSet1.LastPage) %>'>
<ContentsTemplate> <a href="../wwwroot/app/<%#
Request.ServerVariables["SCRIPT_NAME"] %>?DataSet1_currentPage=<%#
DataSet1.LastPage %>">Letzter</a>
</ContentsTemplate>
</MM:If>
<p>
<a href="../wwwroot/app/insert.aspx">Neue Nachricht</a><a
href="../wwwroot/app/update.aspx">Update Nachricht</a>
</p>
</body>
</html>
3) Wenn Du obiges Beispiel f�r Dich angepasst hast, dann w�rde ich es in
ein Custom WebControl legen. Damit w�re dann eine wiederholte Nutzung
analog des von Dir nachgefragten DataGrids m�glich und man kann alles
parametrisieren.
Ich hoffe das hilft, ansonsten melde Dich einfach nochmal!
Herzliche Gr��e,
Thomas Woithe
________________________________________________________
.NET Softwareentwicklung, Qualit�tsmanagement
Rich Internet mit .NET und Flash Communication Server MX
Produkt (Marketing) Management
Projekt Management
http://www.servicepark.com mailto:[EMAIL PROTECTED]
Tel: +49 (0)30 9142 3830 , Fax: +49 (0)30 9142 3827
Beuthstr. 32, 13156 Berlin, Germany
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im
Auftrag von Janko Wellmeier
Gesendet: Mittwoch, 12. M�rz 2003 10:14
An: [EMAIL PROTECTED]
Betreff: [Asp.net] Datagrid mit mehreren Tables f�llen
Hallo,
gibt es eine M�glichkeit, dass ich einem DataGrid mehrere Tables
zuordne??
W�rde n�mlich gerne das Paging benutzen und kann es daher nicht auf
mehrere DataGrids aufteilen.
Danke
Janko
------------------
Professionelles .NET Hosting auf leistungsf�higen Servern.
ASP.NET, VS.NET, XML, CDO, SQL 2000 und vieles mehr.
Informieren Sie sich jetzt unter http://www.aspnet.de
_______________________________________________
Asp.net mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/asp.net