Πώς να συνδέσετε ένα στοιχείο ελέγχου DataGrid με ένα ArrayList αντικειμένων ή δομές χρησιμοποιώντας 2005 Visual Basic ή Visual Basic.NET

ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.

Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:316302
Για μια οπτική Microsoft C#.NET έκδοση αυτού του άρθρου, ανατρέξτε στο θέμα 316303.
Περίληψη
Αυτό το άρθρο βήμα προς βήμα περιγράφει τον τρόπο για να συνδέσετε ένα ArrayList αντικείμενα σε ένα Το DataGrid στοιχείο ελέγχου. Το παράδειγμα που αποτελείται από μια φόρμα Microsoft Windows με ένα Το DataGrid στοιχείο ελέγχου για να εμφανίσετε τιμές ιδιοτήτων του αντικειμένου και τέσσερα κουμπιά εντολών για να αναζητήσετε τις γραμμές του Το DataGrid στοιχείο ελέγχου.

Απαιτήσεις

Η ακόλουθη λίστα περιγράφει το υλικού που συνιστώνται, λογισμικό, υποδομή δικτύου και τα service pack που απαιτούνται:
  • 2005 Microsoft Visual Basic ή Microsoft Visual Basic.NET
Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τα ακόλουθα θέματα:
  • Έννοιες προγραμματισμού Visual Basic

Σχεδίαση της κλάσης

Μια κλάση που έχει συνδεθεί ένα στοιχείο ελέγχου πρέπει να έχει στοιχεία πρόσβασης της ιδιότητας. Πρέπει να έχουν οποιαδήποτε ιδιότητα που πρόκειται να συνδεθεί Σύνολο ιδιοτήτων και Λήψη ιδιοτήτων μέθοδοι. Η κλάση δείγμα που χρησιμοποιείται σε αυτό το άρθρο έχει τρία μέλη (μόνο μία εμφανίζεται εδώ.) Μια κατασκευή με παραμέτρους επίσης παρέχονται, αλλά δεν απαιτείται.
Public Class guitar    Private m_make As String    Private m_model As String    Private m_year As Short    Public Sub New(ByVal make, ByRef model, ByVal year)        m_make = make        m_model = model        m_year = year    End Sub    Public Property make() As String        Get            Return m_make        End Get        Set(ByVal Value As String)            m_make = Value        End Set    End Property    End Class				

Προσθέσετε παρουσίες της κλάσης σε μια ArrayList

Για να δημιουργήσετε εμφανίσεις και να προσθέσετε το ArrayList, ακολουθήστε τα εξής βήματα:
  1. Δηλώνετε μια ArrayList.
  2. Δημιουργία παρουσιών της κλάσης και κατόπιν να προσθέσετε παρουσίες για το ArrayList.
Private al as New Arraylist()al.Add(New guitar("Gibson", "Les Paul", 1958))al.Add(New guitar("Fender", "Jazz Bass", 1964))al.Add(New guitar("Guild", "Bluesbird", 1971))				

Η σύνδεση του ArrayList DataGrid

Μετά την ArrayList έχει συμπληρωθεί, ορίστε το Αρχείο προέλευσης δεδομένων ιδιότητα του Το DataGrid Έλεγχος για το ArrayList. Στις στήλες του Το DataGrid στοιχείο ελέγχου συμπληρώνονται με βάση τις ιδιότητες για το οποίο υπάρχουν στοιχεία πρόσβασης της ιδιότητας του πεδίου.
DataGrid1.DataSource = al				

Παρέχει ένα μέσο για την αναζήτηση του ArrayList

Μπορείτε να χρησιμοποιήσετε CurrencyManager Για να περιηγηθείτε το ArrayList. Για να γίνει αυτό, συσχέτιση CurrencyManager με το Κωδικοποίησης μηνύματος του στοιχείου ελέγχου (στην περίπτωση αυτή, το ArrayList).
Private cManager As CurrencyManagercManager = CType(DataGrid1.BindingContext(al), CurrencyManager)				
Το CurrencyManager η κλάση έχει ένα Θέση ιδιότητα που μπορείτε να χειριστείτε για τη συνεχή επανάληψη των μελών της ArrayList. Προσθέτοντας ή αφαιρώντας από την τρέχουσα τιμή της Θέση, μπορείτε να αναζητήσετε τις γραμμές του Το DataGrid στοιχείο ελέγχου.
'Move forward one element.cManager.Position += 1'Move back one element.cManager.Position -= 1'Move to the beginning.cManager.Position = 0'Move to the end.cManager.Position = al.Count - 1				

Παράδειγμα βήμα προς βήμα

  1. Στη Visual Basic ή Visual Basic2005.NET, δημιουργήστε ένα νέο έργο εφαρμογών των Windows. Δημιουργείται η φόρμα Form1 από προεπιλογή.
  2. Από το Έργο μενού, κάντε κλικ στο κουμπί Προσθήκη κλάσης Για να προσθέσετε μια κλάση του έργου.
  3. Αντικατάσταση κώδικα Class1.vb με το εξής:
    Public Class guitar    Private m_make As String    Private m_model As String    Private m_year As Short    Public Sub New(ByVal make, ByRef model, ByVal year)        m_make = make        m_model = model        m_year = year    End Sub    Public Property make() As String        Get            Return m_make        End Get        Set(ByVal Value As String)            m_make = Value        End Set    End Property    Public Property model() As String        Get            Return m_model        End Get        Set(ByVal Value As String)            m_model = Value        End Set    End Property    Public Property year() As Short        Get            Return m_year        End Get        Set(ByVal Value As Short)            m_year = Value        End Set    End PropertyEnd Class					
  4. Κλείστε το παράθυρο κώδικα Class1.vb και στη συνέχεια μεταβείτε στη σχεδίαση της φόρμας.
  5. Προσθέστε ένα Το DataGrid Έλεγχος Form1. Μέγεθος του Το DataGrid στοιχείο ελέγχου για να χωρέσει τέσσερις στήλες και τρεις γραμμές.
  6. Προσθήκη τέσσερις Κουμπί ελέγχει Form1 και στη συνέχεια τακτοποιήστε τα κουμπιά οριζόντια.
  7. Αλλαγή του Κείμενο η ιδιότητα Button1 για να Επόμενη.
  8. Αλλαγή του Κείμενο η ιδιότητα Button2 για να Προηγούμενη.
  9. Αλλαγή του Κείμενο η ιδιότητα Button3 για να Πρώτη.
  10. Αλλαγή του Κείμενο η ιδιότητα Button4 για να Τελευταία.
  11. Προσθέστε τον ακόλουθο κώδικα για το Φόρμα1 (Form1) Κλάση:
    Private cManager As CurrencyManagerPrivate al as New ArrayList()					
  12. Επικολλήστε τον ακόλουθο κώδικα στο του Form1_Load συμβάν:
    al.Add(New guitar("Gibson", "Les Paul", 1958))al.Add(New guitar("Fender", "Jazz Bass", 1964))al.Add(New guitar("Guild", "Bluesbird", 1971))				cManager = CType(DataGrid1.BindingContext(al), CurrencyManager)	DataGrid1.DataSource = al					
  13. Επικολλήστε τον ακόλουθο κώδικα μετά το Form_Load διαδικασία:
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        cManager.Position += 1    End Sub    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click        cManager.Position -= 1    End Sub    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click        cManager.Position = 0    End Sub    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click        cManager.Position = al.Count - 1    End Sub					
  14. Δημιουργία και εκτέλεση του έργου.
  15. Κάντε κλικ σε κουμπιά εντολών για να μετακινηθείτε μεταξύ των γραμμών του Το DataGrid στοιχείο ελέγχου. Σημειώστε ότι μπορείτε να επεξεργαστείτε τις τιμές των αντικειμένων, εάν το επιθυμείτε.

Χρησιμοποιώντας μια δομή αντί για μια κλάση

Οι κανόνες για τη σύνδεση μια δομή είναι ίδια με τους κανόνες για ένα αντικείμενο σύνδεσης. Απαιτούνται στοιχεία πρόσβασης της ιδιότητας (δηλαδή μέλος). Μια δομή που έχει δημιουργηθεί για το σκοπό αυτό μοιάζει με μια κλάση.

Για να συνδέσετε σε ένα ArrayList των δομών, ακολουθήστε τα εξής βήματα:
  1. Αλλάξτε τον ορισμό της λειτουργικής μονάδας κλάσης Class1.vb στο παράδειγμα από
    Public Class guitar'...End Class					
    με το ακόλουθο:
    Public Structure guitar'...End Structure					
  2. Δημιουργήστε και εκτελέστε ξανά το πρόγραμμα παράδειγμα και βεβαιωθείτε ότι λειτουργεί με ένα ArrayList δομές.
Αναφορές
Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα "Καταναλωτές των δεδομένων στον Windows φόρμες" στο Visual Studio.NET ηλεκτρονική Βοήθεια.

Προειδοποίηση: Αυτό το άρθρο έχει μεταφραστεί αυτόματα

خصائص

رقم الموضوع: 316302 - آخر مراجعة: 05/29/2011 15:54:00 - المراجعة: 4.0

, ,

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB316302 KbMtel
تعليقات