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

 

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

Ανάθεση id σε checked list box

Îåêßíçóå áðü ôï ìÝëïò lyros. Τελευταία δημοσίευση από το μέλος lyros στις 10-10-2007, 13:45. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  09-10-2007, 21:57 36044

    Ανάθεση id σε checked list box

    Γειά σε όλους,

    Θα ήθελα να μάθω αν υπάρχει κάποιος τρόπος να αναθέσει κανείς id (σαν property) σε κάθε checkbox που υπάρχει σε checked list box, το οποίο "γεμίζει" από βάση δεδομένων με dataReader (σε c# για windows εφαρμογή).Αλιώς , αν υπάρχει τρόπος να συνδέσω γενικά το κάθε checkbox με το id της εγγραφής που διαβάζεται από τη βάση (χωρίς βέβαια να είναι φανερό στο χρήστη).

    Ευχαριστώ πολύ!


    panos
  •  10-10-2007, 11:30 36069 σε απάντηση της 36044

    Απ: Ανάθεση id σε checked list box

    Μπορείς να το κάνεις databind κάπως έτσι:

    someCheckedListBox.DataBindings.Add(new System.Windows.Forms.Binding("DisplayMember", datasource, datamember));

    someCheckedListBox.DataBindings.Add(new System.Windows.Forms.Binding("ValueMember", datasource, datamember));

    To DisplayMember είναι αυτό που φαίνεται και το ValueMember είναι το ID του κάθε item.

    To πρόβλημα είναι ότι το CheckedListBox δεν έχει ένα επιπρόσθετο property για να κάνεις databind και το checked status του κάθε item. Μπορείς να το φτιάξεις εσύ όπως εδώ: http://www.codeproject.com/cs/combobox/ExCheckedListBox.asp

    Μια άλλη εναλλακτική λύση είναι να χρησιμοποιήσεις DataGridView με δύο columns, ένα για το check και ένα για το λεκτικό. Κατόπιν, μπορείς να αφαιρέσεις τα row και column headers έτσι ώστε να μοιάζει με CheckedListBox.


    Vir prudens non contra ventum mingit
  •  10-10-2007, 13:45 36079 σε απάντηση της 36069

    Απ: Ανάθεση id σε checked list box

    Ευχαριστώ πολύ KelMan για το χρόνο και την ιδέα σου!

    Προσπαθώ να αποφύγω το dataGridView πάλι. Μέχρι τώρα όποτε θέλω να εμφανίσω δεδομένα από βάση χρησιμοποιώ αυτό.

    Πρακτικά για να εφαρμόσω το databind , σαν datasource θα είναι το dataReader, ή πρέπει να είναι dataTable  το οποίο 'γεμίζει' από έναν dataAdapter, και στη συνέχεια να ορίσω ένα bindingSource (αυτή είναι η διαδικασία που ακολουθώ,μέχρι τώρα, για τα datagridviews)?Στην περίπτωση με το checkedListBox χρησιμοποιώ το dataReader και μέσα στη 'while (reader.read)':  'chListBox.Items.Add(sTitle + " - " + sPrice+" Ευρώ");'. Αυτό που δεν καταλαβαίνω στην ουσία, είναι, ποιό είναι το datamember στο datareader  (φαντάζομαι ότι το datasource θα είναι το reader)? Είμαι νέος στην .net ακόμα και με μπερδεύουν όλα αυτά...

    Αν και μετά απ'αυτά που έγραψα πιστεύω ότι θα ήταν προτιμότερο το dataGridView... Θα το παλέψω όμως λίγο ακόμα με το checkedListBox, οπότε μια διευκρίνηση θα βοηθούσε πολύ

    Ευχαριστώ πολύ!!


    panos
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems