DataGrid dynamisch erzeugen

AndreBrueck

Mitglied
Hallo,

Ich habe bisher noch nicht sehr viel Erfahrung mit aspx.net, daher hoffe ich das mir jemand von euch bei meinem Problem helfen kann.

Und zwar möchte ich mit der Datagrid Komponente eine tabelle dynamisch erzeugen, wobei die anzahl der Zeilen durch einen Parameter im Quelltext verändert werden kann.

Weiterhin würde ich gerne in diese Tabelle DropDown Felder integrieren, auf deren veränderung man ein bestimmtes Ereigniss auslösen kann. Ich habe es zwar geschafft, dass das Feld in jeder Zeile angezeigt wird, jedoch war es mir nicht möglich auszulesen in welcher zeile ich etwas verändert habe, bezw überhaupt in die "SelectedIndexChanged" methode zu springen.

Ich hoffe jemand von euch kennt vieleicht ein einfaches beispiel, mit dem auch ein asp neuling zurecht kommt.

Danke schoneinmal im vorraus für eute Antworten.

Gruss
André
 
Hi,

Das sind ja viele Fragen auf einmal :)

Also zunächst mal basiert das Prinzip von Client Server Lösungen im Internet auf einen sog. PostBack...das heisst, es werden Event Daten an den Server geschickt, wenn der User eine Änderung auf der Seite vornimmt...also etwas auswählt beispielsweise.

Also um dein DropDown Menü Problem zu lösen, solltest Du erstmal das AutoPostback auf TRUE setzen..dann kannst Du das Ereignis auswerten und darauf reagieren!

Aber Vorsicht hier:

Wenn Du die DropDown Menüs beim Laden des Fensters füllen lässt, dann darf das während des Postbacks natürlich nicht passieren - deshalb musst Du dann folgendes berücksichtigen:

if(Page.Postback == false){
baueDropDownsAuf()
}else{

}


Was das dynamische erzeugen von Tabellen angeht, ob aus Datenbank-Abfrageergebnissen oder auch sonst...kannst Du einen string zusammensetzten, der den HTML Code enthält und den dann, nach dynamischer Erstellung aller Inhalte mit Response.Write(theHTMLString) "in" Deine aspx Seite schreiben lassen. Der HTML Code wird dann vom Browser ganz normal interpretiert -> voila eine Tabelle oder sonst ein HTML Element, dynamisch erzeugt nach den Datenbankinformationen!

Ich poste hier erst mal keinen Code, damit Du etwas probieren kannst Das hilft am besten um das Prinzip erst mal zu verstehen und dann auch richtig gute Applikationen schreiben zu können. Sicher sind das hier nur ein paar Randbemerkungen, aber vielleicht hilfts ja!

Gruß

Alex
 
Hallo,

zu meinem Problem mit den DropDown Listen:

Also ich kann die Liste mit Einträgen füllen und hab PostBack auf true gesetzt. Bei einer einfachen Liste funktioniert das auch. Doch sobalt ich in der ASPX Seite den Code in das Datagrit Kopiere, gehts nicht mehr. Ich bekomme dann zwar immernoch die Liste angezeigt, aber er springt einfach nichtmehr in die SelectedIndexChanged funktion.
Ich weis leider nicht was ich da falsch mache.

ICh habe beim suchen zwar folgendes Beispiel gefunden, doch kann ich damit absolut nichts anfangen:
Code:
asp:DropDownList Runat="server" ID="edit_Product" DataSource='<%# GetProducts DataBinder.Eval(Container.DataItem,"SupplierID")) %>' 
DataTextField="ProductName" 
DataValueField="ProductID" 		
Width="200" />

Zu der Sache mit der Tabelle:
Also ich möchte nicht in einer Schleife meinen HTML Code anzeigen lasse, dass habe ich auch hinbekommen.
Mir geht es vielmehr darum, eine beliebige Tabelle mit hilfe des DataGrids darzustellen.

Ich hoffe jemand kann mir dazu noch einige hilfreiche Tips geben, denn zur Zeit weis ich einfach keine Lösung für meine Probleme.

Gruss
André
 
Zurück