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

 

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

Ερώτηση για DataGridView και ComboBoxes

Îåêßíçóå áðü ôï ìÝëïò ypanagis. Τελευταία δημοσίευση από το μέλος ypanagis στις 09-06-2011, 13:11. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  31-05-2011, 14:25 66075

    Ερώτηση για DataGridView και ComboBoxes

    Καλησπέρα σε όλους!

    Είμαι noob στο .ΝΕΤ δουλεύω λίγο vb.net γι' αυτό θα ποστάρω μια ίσως ανόητη ερώτηση χεχε. Έχω 1 φόρμα με DataGridView το οποίο έχει 3 DataGridViewComboBoxColumn, ανεξάρτητα μεταξύ τους, με τιμές ξένα κλειδιά από διαφορετικούς πίνακες. Το Datagridview δεν είναι bound σε κάποιο DataSource αλλά τις τιμές των πεδίων του τις συμπληρώνει ο χρήστης. Θέλω όπως είναι οι γραμμές να αποθηκεύονται 1-1 σε έναν πίνακα.

    Υπάρχει κάποιος "κομψός" τρόπος να γίνει αυτό; Το ρωτάω με την έννοια ότι διαβάζω μεν την τιμή ενός DataGridViewComboBoxCell με το DataGridView1_EditingControlShowing και μετά με το SelectedValueChanged Event αλλά με αυτόν τον τρόπο κρατάω την τιμή των αντίστοιχων ComboBox μόνο τη στιγμή που αυτά αλλάζουν τιμή και όχι όταν ο χρήστης επιλέξει την αποθήκευση των δεδομένων του DataGridView. Μήπως χρησιμοποιώ το DataGridView με με λάθος τρόπο;Smile Μήπως να έκανα iterate σε όλες τις γραμμές και να έκανα raise 3 SelectedValueChanged events, σε κάθε γραμμή ένα για κάθε DataGridViewComboBoxCell και να διάβαζα τις αντίστοιχες τιμές;

    Ευχαριστώ για τη βοήθεια!
    Δημοσίευση στην κατηγορία: , , ,
  •  01-06-2011, 09:17 66094 σε απάντηση της 66075

    Απ: Ερώτηση για DataGridView και ComboBoxes

    O πιο "κομψός" τρόπος είναι μέσω data-binding. Έστω κι αν τα data δεν προέρχονται ή δεν πρόκειται να καταλήξουν σε κάποια βάση, μπορείς να κάνεις data-binding σε business objects ή σε collections από business-objects. Με αυτόν τον τρόπο θα ξεχάσεις όλα αυτά τα events που χρησιμοποιείς και το όλο πράγμα θα γίνεται αυτόματα. Αν σε ξενίζει η ιδέα των business objects μπορείς ακόμα και να φτιάξεις δυναμικά ένα DataTable και να κάνεις το data-bind πάνω σε αυτό. Γενικά η φιλοσοφία είναι να ΜΗΝ παίζεις πάνω στο grid διαβάζοντας cell-cell με iterations τα data. Σε συνδυασμό με ένα BindingSource component μπορείς να κάνεις τα πάντα (άντε, σχεδόν τα πάντα για να μην είμαστε απόλυτοι) χωρίς να γράφεις κώδικα για κάποιο συγκεκριμένο control.

    Ρίξε μια ματιά στα παρακάτω:

    http://msdn.microsoft.com/en-us/library/ef2xyb33.aspx

    http://windowsclient.net/learn/video.aspx?v=82523

    http://msdn.microsoft.com/en-us/vbasic/ff718217

     


    Vir prudens non contra ventum mingit
  •  09-06-2011, 13:11 66210 σε απάντηση της 66075

    Απ: Ερώτηση για DataGridView και ComboBoxes

    Δοκίμασα τον default drag n' drop τρόπο με TableAdapters και δούλεψε, το πρόβλημά μου ξεκίναγε από το ότι ήθελα να είναι λίγο customized το DataGridView και όχι με τα ίδια πεδία του BindingSource αλλά όλα οκ. Ευχαριστώ!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems