Announcement

Collapse
No announcement yet.

Dropdownlist

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dropdownlist

    Hey Leute,

    ich versuche schon seit Tagen eine Dropdownliste in mein Detailsview (Edittemplate) einzubauen. Leider gelingt mir das nicht :-( habe schon in div. Foren nach Hilfe gesucht.

    Ich habe meine Seite etwas vereinfacht damit für euch übersichtlicher wird,
    habe nur noch zwei Felder, Textbox und Dropdwonlist1.
    Ich hoffe hier kann mir jemand helfen

    Ich will eigentlich nur das ich im Editmode in die Textfelder ganznormal die Daten eintippe und bei einem Dropdownmenü aus der hardcoded Auswahl ein Wert auswähle und mit allen eingetippten Werten zusammen in die Dateanbank speichere.



    Code:
    <%@ Page Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" title="Untitled Page" %>
    <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <p>
            <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" 
                BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" 
                CellPadding="2" DataKeyNames="ID" DataSourceID="SqlDataSource1" 
                ForeColor="Black" GridLines="None" Height="50px" style="text-align: left" 
                Width="125px">
                <FooterStyle BackColor="Tan" />
                <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" 
                    HorizontalAlign="Center" />
                <Fields>
                    <asp:TemplateField ShowHeader="False">
                        <ItemTemplate>
                            <table frame="box" style="width: 960px">
                                <tr>
                                    <td style="background-color: #d2b48c; width: 160px;">
                                        <asp:Label ID="Label18" runat="server" style="font-weight: 700" 
                                            Text="Sv Nr.:" />
                                    </td>
                                    <td style="width: 160px">
                                        <asp:Label ID="Label018" runat="server" Text='<%# Bind("svnummer") %>' />
                                    </td>
                                </tr>
                                <tr>
                                    <td style="width: 160px; background-color: #d2b48c">
                                        <asp:Label ID="Label44" runat="server" style="font-weight: 700" 
                                            Text="Bereich:" />
                                    </td>
                                    <td style="width: 160px">
                                        <asp:Label ID="Label044" runat="server" Text='<%# Bind("bereich") %>' />
                                    </td>
                                </tr>
                            </table>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <table>
                                <tr>
                                    <td>
                                        <asp:Label ID="Label56" runat="server" Text="svnummer" />
                                    </td>
                                    <td>
                                        <asp:TextBox ID="TextBox18" runat="server" MaxLength="20" TabIndex="17" 
                                            Text='<%# Bind("svnummer") %>' />
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <asp:Label ID="Label64" runat="server" style="font-weight: 700" 
                                            Text="Bereich:" />
                                    </td>
                                    <td>
                                        <asp:DropDownList ID="DropDownList1" runat="server" 
                                            SelectedValue='<%# Eval("bereich") %>'>
                                            <asp:ListItem Text="List1" Value="List1" />
                                            <asp:ListItem Text="List2" Value="List2" />
                                        </asp:DropDownList>
                                    </td>
                                </tr>
                            </table>
                        </EditItemTemplate>
                        
                    </asp:TemplateField>
                    <asp:CommandField ShowEditButton="True" />
                </Fields>
                <HeaderStyle BackColor="Tan" Font-Bold="True" />
                <EditRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" />
                <AlternatingRowStyle BackColor="PaleGoldenrod" />
            </asp:DetailsView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                ConnectionString="<%$ ConnectionStrings:freelancerberConnectionString %>" 
                
                SelectCommand="SELECT [ID], [bereich], [svnummer] FROM [freelancer]" 
                UpdateCommand="UPDATE [freelancer] SET [bereich] = @bereich, [svnummer] = @svnummer WHERE [ID] = @ID">
                <DeleteParameters>
                    <asp:Parameter Name="ID" Type="Int32" />
                </DeleteParameters>
                <UpdateParameters>
                    <asp:Parameter Name="bereich" Type="String" />
                    <asp:Parameter Name="svnummer" Type="String" />
                    <asp:Parameter Name="ID" Type="Int32" />
                </UpdateParameters>
                <InsertParameters>
                    <asp:Parameter Name="bereich" Type="String" />
                    <asp:Parameter Name="svnummer" Type="String" />
                </InsertParameters>
            </asp:SqlDataSource>
        </p>
        
    </asp:Content>

  • #2
    Wo genau ist denn das Problem? Angezeigt sollte die DropDownList ja werden, oder?

    Comment


    • #3
      leider kriege ich eine Fehlermeldung sobal ich im Gridview auf Bearbeiten klicke:

      DropDownList1 besitzt ein SelectedValue, das ungültig ist, weil es nicht in der Elementliste vorhanden ist.
      Parametername: value

      Comment


      • #4
        Die Fehlermeldung klingt so, als wäre der Eintrag aus der Datenbank in deiner DropList nicht auszuwählen (in der Liste fehlt der Wert den die DropDownListe aus der DB bekommt)

        Code:
        SelectedValue='<%# bind("bereich") %>'
        evtl. ein Bind reinsetzen? Bin mir da aber auch nicht sicher.

        Comment


        • #5
          schon probiert das gleiche ERgebniss,
          auch wollte ich nichts aus der Datenbank rausholen sondern anhand der festgenagelten Auswahl eintragen:<asp:ListItem Text="List1" Value="List1" />
          <asp:ListItem Text="List2" Value="List2" />
          noch eine Idee? :-)

          Comment


          • #6
            Sobald Du in den Edit Modus gehst versucht die DropDownList das Datenbankfeld "bereich" auszuwerten, da du es mit

            Code:
            SelectedValue='<%# Eval("bereich") %>'
            an dieses Datenbankfeld gebunden hast. Wenn in deinem Datenbank feld ein Wert steht der sich in der DropDownList nicht auswerten lässt (weil es diesen Value in deiner Liste nicht gibt), dann gibt es oben genannte Fehlermeldung.

            Kann das sein, dass die Datenbank einen Wert liefert der in der DropDownList nicht verfügbar ist?

            Comment


            • #7
              Ahhh, jetzt habe ich es zum Teil :-)
              Habe alle werte werte in der DB durch NULL oder List1 ersetzt, jetzt konnte ich auf "Bearbeiten" gehen und siehe da keine Fehlermeldung :-) Auch im Dropdownmenü die Werte auswählen und sogar in der DB abspeichern.

              Das einzige was noch nicht gehet ist anschließend wieder auf "Bearbeiten" zu gehen, dann kriege ich wieder die gleiche Fehlermeldung :-(
              DropDownList1 besitzt ein SelectedValue, das ungültig ist, weil es nicht in der Elementliste vorhanden ist.
              Parametername: value

              Hat jemand eine Idee warum an dieser Stelle ?

              Comment


              • #8
                oh Sorry konnte mir schon selbst helfen.
                Da ich in der Db die Felder auf 40 Zeichen gesetzt habe, waren hinter List1 wahrscheinlich leer Zeichen(Platzhalter). Habe nun auf 5 Zeichen begrenzt und siehe da jetzt lüpt alles :-)
                Aber vielleicht habt Ihr ja einen Tipp für mich wie das so die Profis oder wie man das eleganter regeln kann mit den Platzhalterzeichen oder wie man die so nennt. Oder habe ich das so gemacht wie man es normalerweise machen würde?

                Comment


                • #9
                  Schon merkwürdig dass da 40 Zeichen zurückkommen... das darf eigentlich nicht sein. Die 40 Zeichen sollten ja eigentlich nur eine Begrenzung sein. Welche Datenbank hast Du denn?

                  Comment


                  • #10
                    Hi,
                    ich habe ms sql

                    Comment

                    Working...
                    X