2009-02-27 8 views
0

Meine Seite Load-Ereignis wie folgt aussieht ....asp.net SqlDataSource-Detailansicht: Wie setzen richtige select-Anweisung

SqlDataSource1.ConnectionString = Connection.ConnectionStr; 

    SqlDataSource1.SelectCommand = "select firstname,lastname from customer"; 

    SqlDataSource1.InsertCommand = "CustRec_iu"; 
    SqlDataSource1.InsertCommandType = SqlDataSourceCommandType.StoredProcedure; 

    SqlDataSource1.InsertParameters.Clear(); 

    SqlDataSource1.InsertParameters.Add(new Parameter("firstname", DbType.String)); 
    SqlDataSource1.InsertParameters.Add(new Parameter("LastName", DbType.String)); 
    SqlDataSource1.InsertParameters.Add(new Parameter("Active",DbType.Int16,"1")); 

Die Detailsteuerungseinstellung wie folgt aussieht ....

 <asp:DetailsView ID="dvCustDetails1" runat="server" AutoGenerateRows="False" 
      DataSourceID="SqlDataSource1" Height="149px" Width="469px" 
      OnItemInserted=dvCustDetails1_ItemInserted 

      > 
      <Fields> 
       <asp:BoundField DataField="FirstName" HeaderText="First Name" 
        SortExpression="FirstName" /> 
       <asp:BoundField DataField="LastName" HeaderText="Last Name" 
        SortExpression="LastName" /> 
       <asp:CommandField ButtonType="Button" ShowInsertButton="True" /> 
      </Fields> 
     </asp:DetailsView> 

Gleich nach dem Einfügen Funktionalität, möchte ich die Custid aus Kundentabelle erfassen, die Identität Spalte ist, einige, wie es extrahieren und Tabelle mit diesem Datensatz wie

auswählen * von cu stomer wo custid = @ custid.

Dann, nachdem das Steuerelement nach dem Einfügen rendert, möchte ich, dass es den neu eingefügten Datensatz basierend auf der obigen Select-Anweisung zeigt.

Auch würde ich gerne Details anzeigen Update-Schaltfläche anzeigen, damit ich den Datensatz aktualisieren konnte.

Wie würde ich das erreichen ??

Ich finde sehr wenig Dokumentation in Google-Suche oder sogar Bücher drucken.

Antwort

0

Sie möchten das OnSelected-Ereignis von sqldatasource mit einem Rückgabeparameter aus dem SQL-Aufruf verwenden.

hinzufügen Zu dem SqlDataSource

OnSelected ="sqlds_Selected" 

und setzen es so etwas wie:

protected void sqlds_Selected(object sender, SqlDataSourceStatusEventArgs e) 
{ 
    //get the command object from the arg and 
    //then you can get to the parameter value 

    e.Command.Parameters["@CustomerID"].Value 

    //then set this to your detailsview key 

} 
+0

ich etwas, was ich vermisst, aber es ist nicht für mich arbeiten .. weitere Informationen wäre hilfreich. –