DevTrain Startseite Visual Studio 1 Magazin  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren


   Autor: Bernhard Elbl Artikel Drucken
        
Master Detail Darstellung mit ASP.NET

Einer der meistverwendesten Punkte in modernen Web Applikationen ist die Darstellung von Daten aus Datenbank Systemen.
Dieser Artikel will Ihnen zeigen, wie Sie mit ASP.NET und C# :

1.) Daten auf einer ASP.NET seite visuallisieren und
2.) Detaildatensätze zu einem ausgewählten Datensatz anzeigen lassen

Generell werden alle Actions durch den Page_Load Eventhandler ausgeführt. Als allererstes frage ich ab, ob die Seite an den Server zurückgesendet wurde, oder ob sie zum ersten mal ausgeführt wird.Beim erstmaligen ausführen der Page wird die Funktion BindData() aufgerufen.

void BindData() // Function to retrieve and bind Data
{
       SQLConnectionmyConnection=newSQLConnection("server=localhost;uid=sa;pwd=;database=Northwind");
        SQLDataSetCommand myCommand = new SQLDataSetCommand("SELECT * FROM Customers", myConnection);

        try
  {
   DataSet ds = new DataSet();
   myCommand.FillDataSet(ds, "Customers");

   selMaster.DataSource = ds.Tables["Customers"].DefaultView;
   selMaster.DataTextField = "CompanyName";
   selMaster.DataValueField = "CustomerID";
   selMaster.DataBind();
  }  
 catch(Exception e)
  {
   lblErrorMsg.Text = "Fehler aufgetreten: " + e.ToString();
  }

}

 

Ich erzeuge als allererstes eine SQL Connection zu meinem SQL Server, danache baue ich mir ein SQLDataSetCommando mit dem ich mir alle Master (Haupt) Datensätze zurückgeben lasse. Als nächstes Binde ich die Ergebnismenge an meine ASP:DropDownBox und setze mit den Attributen selMaster.DataTextField den anzuzeigenden Text und mit selMaster.DataValueField den ValueWert, indem Fall die CustomerID.

Da in der DropDownList das Attribut AutoPostBack="True" gesetzt wurde wird automatisch die Seite an den Server zurückgepostet. In diesem Fall kommen wir wieder in den Page_Load Handler. Achtung: Jetzt ist Page.IsPostBack ist nun True.

String selectCmd = "SELECT * FROM ORDERS WHERE CustomerID = @CustomerID";

       SQLConnectionmyConnection=newSQLConnection("server=localhost;uid=sa;pwd=;database=Northwind");
        SQLDataSetCommand myCommand = new SQLDataSetCommand(selectCmd, myConnection);

        myCommand.SelectCommand.Parameters.Add(new SQLParameter("@CustomerID", SQLDataType.NChar, 10));
        myCommand.SelectCommand.Parameters["@CustomerID"].Value =  selMaster.SelectedItem.Value ;
 //lblErrorMsg.Text = selMaster.SelectedItem.Value;

        try
  {
   DataSet ds = new DataSet();
   myCommand.FillDataSet(ds, "Orders");
    
   MyDataGrid.DataSource= ds.Tables["Orders"].DefaultView;
   MyDataGrid.DataBind();
   
  }
  
  catch(Exception e)
  {
   lblErrorMsg.Text = "Fehler aufgetreten: " + e.ToString();
  }

Ich baue mir nun wieder ein SQLConnection und ein SQLDataSetCommand mit einer Where Bedingung und einem Parameter @CustomerID.
Ich erzeuge an dem SQLDataSetCommand einen Parameter den ich dann mit dem Value der DropDownBox fülle.
Zu guter letzt binde ich die Detail Datensätze an ein ASP:DataGrid und fertig ist die Master Detail Darstellung mit ASP.NET
    


DevTrain Camp - Schneller zum .NET 3.5 Developer
 
Verwandte Artikel      Verlinkte Dokumente
    Keine verknüpften Dokumente

  Erfasst am: 06.01.2001
  Gültig bis: 06.05.2001
2 Ratings
Bewertung: 100,0%
schlecht    sehr gut  

 
© Copyright 2007 ppedv AG