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

 

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

Ταξινόμηση datagridview

Îåêßíçóå áðü ôï ìÝëïò antonisKar. Τελευταία δημοσίευση από το μέλος Markos στις 30-04-2010, 11:49. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  29-04-2010, 19:55 58436

    Ταξινόμηση datagridview

    Καλησπερα.

    Εχω δημιουργήσει έναν πίνακα ο οποίος έχει τα παρακάτω πεδια A,B,C. Τα πεδια ειναι integer και παιρνουν τιμές απο 0 έως 100. Σας παραθετω τον κώδικα με τον οποίο γεμιζω το datagridview


    Dim cmd As SqlCommand = New SqlCommand("SELECT * FROM table ", con)
            con.Open()
            myDA = New SqlDataAdapter(cmd)
            'Automatically generates DeleteCommand, UpdateCommand and InsertCommand for DataAdapter object 
            Dim builder As SqlCommandBuilder = New SqlCommandBuilder(myDA)
            myDataSet = New DataSet()
            myDA.Fill(myDataSet, "table")
            DgvBund.DataSource = myDataSet.Tables("table").DefaultView


    Το πρόβλημα ειναι οτι θελω να ταξινομησω το datagridview αλλα τη καθε στήλη ξεχωριστά.ΑΝ έχω τρεις στήλες Α, Β ,C να μπορώ να τις ταξινομώ ανεξάρτητα την μια απο την άλλη.Δεν γνωριζω αν ειναι δυνατον αλλά έχετε να προτείνετε κατι?
    Ευχαριστώ
  •  29-04-2010, 22:57 58440 σε απάντηση της 58436

    Απ: Ταξινόμηση datagridview

    Τι νόημα έχει να ταξινομήσεις κάθε πεδίο ξεχωριστά; Είμαι περίεργος να δω το business case, μιας και στους πίνακες μιας βάσης, κάθε εγγραφή αντιπροσωπεύει ένα σύνολο από δεδομένα που εκφράζουν ένα πράγμα. Για παράδειγμα, η εγγραφή για έναν πελάτη είναι τα πεδία Όνομα, Επίθετο, Τηλέφωνο. Αν έχεις 5 πελάτες και ταξινομήσεις την κάθε στήλη χωριστά (υποθέτουμε ότι αυτό γίνεται), θα μπερδευτούν οι εγγραφές και δεν θα βγαίνει νόημα. Από εκεί και πέρα, αν όντως υπάρχει μια περίπτωση που να βγάζει νόημα, είμαι 99.99999% σίγουρος ότι αυτά τα πεδία θα πρέπει να βρίσκονται σε διαφορετικούς πίνακες. Τέλος, αν σώνει και καλά θες να κάνεις κάτι τέτοιο μπορείς να το κάνεις ως εξής: Κάνεις copy την κάθε στήλη στο δικό της DataTable, ταξινομείς το κάθε DataTable και μετά ξανακάνεις copy τα περιεχόμενα από τα τρία DataTable πίσω στο αρχικό ή σε ένα νέο. Αλλά πραγματικά δεν βρίσκω τον λόγο για κάτι τέτοιο...


    Vir prudens non contra ventum mingit
  •  30-04-2010, 10:16 58444 σε απάντηση της 58440

    Απ: Ταξινόμηση datagridview

    Συμφωνα με την λογική σου έχεις δίκιο.Όμως σκεψου εναν πίνακα με κυριο κλειδι την Ημερομηνιά και πεδία μεταβλήτές. Κάθε ημέρα λοιπον καταχωρώ τις τιμές των μεταβλητών αυτών που είναι ανεξάρτητες όμως μεταξύ τους. Αυτός είναι και ο λόγος που θέλω μια ανεξάρτητη ταξινόμηση.
  •  30-04-2010, 10:38 58445 σε απάντηση της 58444

    Απ: Ταξινόμηση datagridview

    Άρα για να είσαι σωστός σύμφωνα με τις αρχές σχεδίασης των βάσεων, θα πρέπει η κάθε μεταβλητή να είναι στον δικό της πίνακα καθώς σε κάθε πίνακα μπαίνουν μόνο πεδία που σχετίζονται μεταξύ τους. Αν θέλεις να τις έχεις στον ίδιο πίνακα, θα πρέπει να κάνεις το hack που ανέφερα με τα DataTables προκειμένου να τις δεις. Είδα επίσης ότι χρησιμοποιείς DataSets πράγμα που δεν προσφέρεται ειδικά γι αυτή τη δουλειά. Αν χρησιμοποιήσεις LINQ to DataSet http://msdn.microsoft.com/en-us/library/bb386977.aspx, μπορείς να κάνεις το ίδιο πράγμα αλλά πιο απλά. Υποθέτω πάντως ότι στον πίνακα δεν θες να εμφανίζεται η ημερομηνία σωστά; Γιατί αν εμφανίζεται τα data δεν θα βγάζουν νόημα...


    Vir prudens non contra ventum mingit
  •  30-04-2010, 10:44 58447 σε απάντηση της 58445

    Απ: Ταξινόμηση datagridview

    Σωστά.Η ημερομηνία δεν εμφανίζεται. Ο λόγος που έβαλα όλα τα πεδια σε εναν πίνακα ειναι γιατι υπάρχει κάποια συσχέτιση μεταξύ τους την οποία πρεπει να ξέρω αλλά κάθε μεταβλητή μπορει να χρησιμοποιηθεί και ανεξάρτητα.Το θέμα ειναι οτι δεν θελω να ταξινομήσω τα δεδομένα για επεξεργασία αλλά μόνο για λόγους εμφάνισης.Δηλ αν ζητήσει ο χρήστης να δει τη συμπεριφορά μιας μεταβλητής ταξινομημένης να έχει μια εικόνα.Ένας τρόπος αλλά "κομπογιανιτικο" είναι να κάνω διαφορετικά select που το κάθε ένα να ταξινομεί την εκάστοτε μεταβλητή και να εμφανίζει το αποτέλεσμα.Αν θέλω να τις δώ όμως όλες μαζι?Εκεί είναι το πρόβλημα.
  •  30-04-2010, 11:16 58449 σε απάντηση της 58447

    Απ: Ταξινόμηση datagridview

    Συγγνώμη, αλλά δεν έχω καταλάβει πως έχεις δομήσει τον πίνακα. Επίσης, οι μεταβλητές σου είναι όλες αριθμητικές ή όχι; Για παράδειγμα, αν ο πίνακας σου έχει τη μορφή,

    Date (DateTime)    VariableName (nvarchar)   Value (double) ----> (PK: Date, VariableName)

    τότε μπορείς να κάνεις ένα parametrized select για τη μεταβλητή που σ' ενδιαφέρει. Αν οι μεταβλητές σου είναι πεδία, τότε θα έχεις πολλές null τιμές. Δώσε λίγο περισσότερες πληροφορίες.


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
  •  30-04-2010, 11:34 58450 σε απάντηση της 58449

    Απ: Ταξινόμηση datagridview

    Έχω έναν πίνακ με τα εξής πεδία: Date (PK), a (int), b (int), c (int). Κάθε μεταβλητή έχει παντα μια τιμή κάθε ημέρα.
    π.χ.

    Date                a    b    c
    2010-04-01      2    4    3
    2010-04-02      0    2    6
    2010-04-03      1    3    1

    Και αυτό που θέλω ειναι να βλέπω κάπου ταξινομημένες τις μεταβλητές a, b, c

    δηλ.

    a    b    c
    0    2    1
    1    3    3
    2    4    6
  •  30-04-2010, 11:49 58451 σε απάντηση της 58450

    Απ: Ταξινόμηση datagridview

    Τότε μια εναλλακτική λύση θα ήταν να φτιάξεις μια table valued function που να σου επιστρέφει τα δεδομένα ταξινομημένα με τη μορφή που θέλεις για να μην μπλέξεις με το dataset.


    Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems