locked
DropDownList Bindungen RRS feed

  • Frage

  • Hallo,

    eine DropDownList soll aus einer Tabelle2 (SqlDataSource1) eine Auswahl anbieten und beim speichern das Gewählte,
    neben anderen Feldern in Tabelle1 (SqlDataSource1) speichern.

    So sieht die Datenquelle aus:

    Datamember
    DataSourceID: Branche
    DataTextFormat
    DataValueField: ID

    In der Ansicht werden die Branchen in der DropDownList angezeigt.

    Ist es möglich der DropDownList mitzuteilen, dass der gewählte Wert in
    einem Feld der SqlDataSource2 gespeichert werden soll?

     

    Grüße aus Oberhausen,

    Steffen

     

    Montag, 19. Juli 2010 16:03

Antworten

  • Lösung

    nach einigen Überlegungen kam ich zu folgendem Ergebnis.

    So wie bisher geschrieben muss noch die Benutzer definierte Bindung unter "DataBindings bearbeiten..." ausgeführt werden.

    Codeausdruck: Bind("Branche")

    Da die DataDropList sowohl an SqlDataSource1 und SqlDataSource2 gebunden ist, müssen die Values übereinstimmen.
    Dies ist bei der Neuanlage eines Datensatze im SqlDataBinding1 zunächst nicht möglich, da wie in meinem Fall das Feld
    Branche den Wert NULL hat. Dagegen hat die DropDownList durch ihre Bindung an SqlDataSource2 bereits einen Wert,
    bei mir z.B "Handwerk". Somit würde es unweigerlich zu einer Fehlermeldug kommen.

    Um dieses Problem zu umgehen habe ich dem Feld Branche in der Tabelle von SqlDataSource1 den Standardwert
    " - Bitte Branche auswählen -" eingetragen und in der DropdownList lasse ich ebenfalls " - Bitte Branche auswählen -"
    anzeigen. Damit sind beide Values identisch und das ganze funktioniert.

    Gruß,

    Steffen
       

    • Als Antwort markiert Steffen01 Montag, 19. Juli 2010 20:48
    Montag, 19. Juli 2010 20:47

Alle Antworten

  • Ergänzung

    aktuell nutze ich als Behindcode:

    Protected Sub FormView1_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewUpdateEventArgs) _
                  Handles FormView1.ItemUpdating

            Dim oDDL As DropDownList

            oDDL = FormView1.FindControl("DropDownList1")
            e.Keys.Add("Branche", oDDL.SelectedValue)

     End Sub 

    Dennoch wüßte ich gerne, ob in der Entwurfansicht der DropDownList mitgeteilt
    werden kann, dass der gewählte Wert in einem Feld der SqlDataSource2 gespeichert
    werden soll.

     

    Gruß,

    Steffen

     

     

     

     

     

    • Bearbeitet Steffen01 Montag, 19. Juli 2010 18:37 neu formatiert
    Montag, 19. Juli 2010 18:30
  • Lösung

    nach einigen Überlegungen kam ich zu folgendem Ergebnis.

    So wie bisher geschrieben muss noch die Benutzer definierte Bindung unter "DataBindings bearbeiten..." ausgeführt werden.

    Codeausdruck: Bind("Branche")

    Da die DataDropList sowohl an SqlDataSource1 und SqlDataSource2 gebunden ist, müssen die Values übereinstimmen.
    Dies ist bei der Neuanlage eines Datensatze im SqlDataBinding1 zunächst nicht möglich, da wie in meinem Fall das Feld
    Branche den Wert NULL hat. Dagegen hat die DropDownList durch ihre Bindung an SqlDataSource2 bereits einen Wert,
    bei mir z.B "Handwerk". Somit würde es unweigerlich zu einer Fehlermeldug kommen.

    Um dieses Problem zu umgehen habe ich dem Feld Branche in der Tabelle von SqlDataSource1 den Standardwert
    " - Bitte Branche auswählen -" eingetragen und in der DropdownList lasse ich ebenfalls " - Bitte Branche auswählen -"
    anzeigen. Damit sind beide Values identisch und das ganze funktioniert.

    Gruß,

    Steffen
       

    • Als Antwort markiert Steffen01 Montag, 19. Juli 2010 20:48
    Montag, 19. Juli 2010 20:47