Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

"Γέμισμα" DropDownList προγραμματιστικά

Îåêßíçóå áðü ôï ìÝëïò epp1123. Τελευταία δημοσίευση από το μέλος epp1123 στις 21-07-2008, 09:44. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-07-2008, 12:42 43482

    "Γέμισμα" DropDownList προγραμματιστικά

    Καλημέρα, γεμίζω ένα drop downlist προγραμματιστικά. Ο κώδικας είναι παρακάτω. Ωστόσο παίρνω το εξής σφάλμα:

    Cannot have multiple items selected in a DropDownList.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Web.HttpException: Cannot have multiple items selected in a DropDownList.


    Έχω τρέξει τον κώδικα βήμα βήμα, αλλά δυστυχώς δεν έχω βρει κάτι που να με βοηθήσει. Ευχαριστώ προκαταβολικά

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
            'Κυβικά

    Dim Vat As Single = 0.007

    Dim Cubics As Integer = 600

    Dim strCubicsAndFI As String = Cubics & " " & "(" & " Φ.Ι.= " & System.Math.Round(Cubics * Vat) & " ) "

    Dim KyvikaItem As New ListItem
    Dim KyvikaItemX As New ListItem

    KyvikaItem.Text = "--Επιλέξτε--"
    KyvikaItem.Value = Cubics

    CubicsFromDDL.Items.Add(KyvikaItem)

    CubicsUntilDDL.Items.Add(KyvikaItem)

    While Cubics < 2500
    KyvikaItemX.Text = strCubicsAndFI
    KyvikaItemX.Value = Cubics

    CubicsFromDDL.Items.Add(KyvikaItemX)

    CubicsUntilDDL.Items.Add(KyvikaItemX)

    Cubics = Cubics + 100
    strCubicsAndFI = Cubics & " " & "(" & " Φ.Ι.= " & System.Math.Round(Cubics * Vat) & " ) "


    End While

    KyvikaItem.Text = "> 2500"
    KyvikaItem.Value = 2500

    CubicsFromDDL.Items.Add(KyvikaItem)
    CubicsUntilDDL.Items.Add(KyvikaItem)

  •  16-07-2008, 14:28 43484 σε απάντηση της 43482

    Απ: "Γέμισμα" DropDownList προγραμματιστικά

    σε runtime σου βγαζει αυτό το λάθος? σε ένα page load event έχεις βάλει τον κώδικα αυτό? μήπως προσπαθείς να περάσεις διπλότυπες τιμές(double values) στο dropdownlist?

    για δες και αυτο....

    http://harishmvp.blogspot.com/2006/05/aspnet-dropdownlist-cannot-have.html


    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  16-07-2008, 15:19 43487 σε απάντηση της 43484

    Απ: "Γέμισμα" DropDownList προγραμματιστικά

    Σε ποιά γραμμή σου χτυπάει;


    Vir prudens non contra ventum mingit
  •  16-07-2008, 16:56 43490 σε απάντηση της 43487

    Απ: "Γέμισμα" DropDownList προγραμματιστικά

    Είναι bug του control, άλλαξε τον κώδικα όπως παρακάτω και θα σου δουλέψει λογικά:

    Dim Vat As Single = 0.007
           
            Dim Cubics As Integer = 600
           
            Dim strCubicsAndFI As String = Cubics & " " & "(" & " Φ.Ι.= " & System.Math.Round(Cubics * Vat) & " ) "
                    
            CubicsFromDDL.Items.Add(new ListItem("--Επιλέξτε--", Cubics))
            
            CubicsUntilDDL.Items.Add(new ListItem("--Επιλέξτε--", Cubics))
            
            While Cubics < 2500
                          
                CubicsFromDDL.Items.Add(new ListItem(strCubicsAndFI, Cubics))
                          
    CubicsUntilDDL.Items.Add(new ListItem(strCubicsAndFI, Cubics))
               
                Cubics = Cubics + 100
                strCubicsAndFI = Cubics & " " & "(" & " Φ.Ι.= " & System.Math.Round(Cubics * Vat) & " ) "
               

            End While
            
            CubicsFromDDL.Items.Add(new ListItem("> 2500", 2500))
            CubicsUntilDDL.Items.Add(new ListItem("> 2500", 2500))


    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  16-07-2008, 22:14 43500 σε απάντηση της 43490

    Απ: "Γέμισμα" DropDownList προγραμματιστικά

    Δεν νομίζω ότι αυτό είναι bug του control αλλά του κώδικα. Η συμπεριφορά της Add δεν είναι περίεργη και είναι η αναμενόμενη από όλες τις λίστες (List, Dictionary, HashSet, κλπ) του Framework. Το πρόβλημα είναι ότι ο αρχικός κώδικας προσθέτει το ίδιο ακριβώς αντικείμενο σε δύο διαφορετικά dropdown ξανά και ξανά. Η Add δεν αντιγράφει το ListItem που της δίνει ο κώδικας, απλά το προσθέτει στη λίστα Items.  Αν δεν έσκαγε το error, θα έβλεπε κανείς ότι και τα δύο dropdown περιέχουν πολλές φορές την ίδια εγγραφή.

    Το error message είναι μάλλον ... παραπλανητικό βέβαια και αυτό είναι όντως bug του control.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  16-07-2008, 23:00 43504 σε απάντηση της 43500

    Απ: "Γέμισμα" DropDownList προγραμματιστικά

    Ε για το message λέγαμε ντε, ο κώδικας είναι άλλη ιστορία.
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  21-07-2008, 09:44 43562 σε απάντηση της 43504

    Απ: "Γέμισμα" DropDownList προγραμματιστικά

    Καλημέρα, εύχομαι να είχατε ένα καλό ΣΚ,  συγνώμη για την καθυστέρηση να απαντήσω, αλλά ο εργασιακός φόρτος ήτο αμίληκτος. Τελικά όντως το πρόβλημα ήταν με την αντιγραφή του ίδιου αντικειμένου. Τον διόρθωσα τον κώδικα σύμφωνα με αυτόν που πρότεινε ο Κεφαλίδης. Όντως το μήνυμα ήταν παραπλανητικό, και με παραπλάνησε εντελώς. Ευχαριστώ Smile
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems