daidalus Δημοσ. 12 Ιανουαρίου 2004 Δημοσ. 12 Ιανουαρίου 2004 Γειά χαρά! Θέλω να φτιάξω ένα ComboBox που να φορτώνει στην drop-down list του ένα πίνακα από μια βάση δεδομένων (σε Access).Δεν θέλω όμως μόνο να το εμφανίζω, θέλω να μπορώ να εισάγω και νέες τιμές οι οποίες φυσικά θα αποθηκεύονται πίσω στη βάση. Ο κώδικας μέχρι στιγμής είναι ο εξής: > string strQuery = "SELECT DISTINCT List.Name FROM List"; string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\\Database.mdb"; ............ InitializeComponent(); ............ OleDbDataAdapter dbAdapter = new OleDbDataAdapter(strQuery,strConn); DataSet dbSet = new DataSet(); dbAdapter.Fill(dbSet,"List"); myComboBox.DataSource = dbSet.Tables["List"].DefaultView; myComboBox.DisplayMember = "Name"; Επίσης έχω γράψει μεθοδο που καλείται όταν αλλάξει το κείμενο στο ComboBox. > void UpdateComboBox(ComboBox CmbBx) { string NewValue; bool AlreadyExists = false; NewValue = CmbBx.Text.ToString(); for(int i = 0; i < CmbBx.Items.Count && !AlreadyExists; i++) { if(CmbBx.Items[i].ToString() == NewValue) AlreadyExists = true; } if (!AlreadyExists) CmbBx.Items.Add(NewValue); } Όμως όταν δοκιμάσω να προσθέσω νέα τιμή μου πετάει exception: Cannot modify the Items collection when the DataSource property is set. Έχετε καμμιά ιδέα τι κάνω λάθος?Πώς θα το συνδέσω με την βάση μου?
Alexandroz Δημοσ. 18 Ιανουαρίου 2004 Δημοσ. 18 Ιανουαρίου 2004 Koita John, vasika pisteyw oti to prob soy einai to query, afoy kaneis mono select. Profanws 8a prepei na kaneis neo query me kapoio insert klp afoy eleg3eis oti den yparxei to string. Ta leme!
daidalus Δημοσ. 18 Ιανουαρίου 2004 Μέλος Δημοσ. 18 Ιανουαρίου 2004 Ναι από ότι φαίνεται έτσι πρέπει να το κάνω...Πίστευα ότι μπορούσε να γίνεται "αυτόματα" από τη στιγμή που θα το σύνδεσω με τη βάση αλλά μάλλον κάνω λάθος.Thanks for the help για άλλη μια φορά!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.