Έχω την εξής απορία. Λοιπόν, η φόρμα μου έχει ένα combobox στο οποίο φορτώνονται όλοι οι κωδικοί προϊόντων από έναν πίνακα μιας βάσης ταξινομημένοι (Select ........ order by ProdID). Με το DropDownClosed event του combobox εμφανίζονται σε textboxes όλα τα στοιχεία από 2 πίνακες της βάσης που αντιστοιχούν στον επιλεγμένο κωδικό. Ο χρήστης λοιπόν, μπορεί να επέμβει σε αυτά τα στοιχεία και έπειτα, με το πάτημα ενός button να τα αποθηκεύσει στη βάση. Δίνεται στο χρήστη η δυνατότητα να αλλάξει και τον κωδικό προϊόντος.
Εδώ λοιπόν βρίσκεται και η απορία μου. Αν ο χρήστης αλλάξει τον κωδικό, θέλω μόλις επεκτείνει ξανά το combobox, ο παλιός κωδικός να μην υπάρχει και ο νέος να έχει τοποθετηθεί στην σωστή θέση. Έχω σκεφτεί 2 τρόπους μέχρι στιγμής αλλά δεν ξέρω ποιός είναι ο καλύτερος.
1) Edited : Σβήνω όλα τα items από το combobox και τα ξανατοποθετώ. Η τοποθέτηση περιλαμβάνει μια προσπέλαση σε όλες τις γραμμές ενός DataTable και Add στο combobox τα στοιχεία από το κατάλληλο index της κάθε γραμμής. Για να λειτουργήσει όμως πρέπει να ξαναδώσω στο DataTable τα νέα στοιχεία από το DataSet. Και αυτό που δεν καταλαβαίνω είναι, ότι ενώ έχει γίνει Update στο DataSet πρέπει να το ξαναγεμίσω μέσω της Fill του DataAdapter μου για να δείξει τα σωστά στοιχεία.
2) Remove από τα items του combobox τον παλιό κωδικό, μετά μια προσπέλαση όλων των items του combobox και έλεγχος που ακριβώς πρέπει να μπει ο νέος κωδικός. Δηλαδή ένα for / foreach με ένα if μέσα και ύστερα ένα Insert.
Αυτή τη στιγμή έχω επιλέξει τον πρώτο τρόπο. Απλά δεν ξέρω τι είναι καλύτερο. Βέβαια ίσως να υπάρχει κάτι πιο απλό το οποίο αγνοώ, δεν έχω κάποια εμπειρία σε windows forms, πρώτη φορά φτιάχνω κάτι σοβαρό άρα μπορεί να μην το έχω προσεγγίσει με τον κατάλληλο τρόπο.