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

 

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

Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

Îåêßíçóå áðü ôï ìÝëïò angarato_surion. Τελευταία δημοσίευση από το μέλος angarato_surion στις 23-10-2006, 15:23. Υπάρχουν 12 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  22-10-2006, 06:25 18976

    Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Τύπος εφαρμογή: desktop

    Γεια σας παιδιά έχω   έναν datatable σε ένα dataset με δεδομένα τα οποία τα παίρνω από ένα xml αρχείο , το πρόβλημα είναι ότι θέλω να αλλάξω την θέση (αν γίνεται) 2 επιλεγμένων στηλών  μετάξι τους.

     


    ΥΓ.: Συγνωμη αν το εβαλα σε λάθος μέρος ,απλως επειδη η εφαρμογη χρησιμοποιει ado.net για αυτο το εβαλα εδω... Πειτε μου αν δεν καταλαβαινεται κατι ...


    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  22-10-2006, 08:33 18977 σε απάντηση της 18976

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable



    Πιστεύω και ότι είναι σε σωστή θέση το post.

    Επειδή μου έχει τύχει και σε μένα μερικές φορές, έχω δοκιμάσει δύο «κόλπα».

    1. Κάνω insert column (όχι add) πάνω από την πρώτη στήλη και εισάγω την ίδιου τύπου στήλη με τη δεύτερη, κατόπιν διαγραφώ τη δεύτερη.

    ή

    2. Έχω ανοίξει το xml του dataset και έχω κάνει copy και μετά paste την στήλη πρός τα επάνω ή προς τα κάτω.

    Τέλος υπάρχει κάποιος άλλος τρόπος θα ήθελα να τον ξέρω.


    while (!dead) learn();
  •  22-10-2006, 09:05 18979 σε απάντηση της 18976

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Η σειρά που έχουν οι στήλες σε ένα datatable δεν έχει σημασία, με την έννοια ότι datatables με τις ίδιες στήλες σε διαφορετική σειρά θεωρούνται ότι περιέχουν τα ίδια δεδομένα. Αυτό το νόημα άλλωστε έχει και η πρόσβαση των στηλών και των περιεχομένων μιας γραμμής σαν associative array.
    Τι είναι αυτό που θέλεις να κάνεις;

    Νατάσα Μανουσοπούλου
  •  22-10-2006, 09:32 18981 σε απάντηση της 18979

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Πιστεύω ότι το θέλει περισσότερο για λόγους οργανώσεις και λιγότερο για τεχνικούς λόγους. Άλλοτε και εγώ για λόγους οργανώσεις το έχω κάνει.

    Παράδειγμά όταν το συγκριμένο dataTable το αποδίδεις σε αρκετά dataGrids, τότε χρειάζεται να κάνει συνέχεια swap της στήλες αυτές.


    while (!dead) learn();
  •  22-10-2006, 19:02 18995 σε απάντηση της 18977

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Δεν υπαρχει εντολη Insert στις στηλες του πινακα.

    απλως θελω να κανω το προγραμμα να αλλαζει τις στηλες αυτοματα(γιατι σιγα μην το κανει ο χρηστης)
    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  23-10-2006, 00:06 19003 σε απάντηση της 18995

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Τελικα τα καταφερα, με ενα πειραμα ειχα προσεξει μια ιδιοτητα (setordinal ) η οποια δεν καταλαβαινα τι εκανε (δεν ξερω τι σημαινει η λεξη ) επαιξα λιγο με αυτην και το πετυχα.
    int i,j,z;
    DataTable table;//Αυτο το ειχα εγω σαν ορισμα της μεθόδου
     string cellname1;//Αυτο το ειχα εγω σαν ορισμα της μεθόδου
    string cellname2;//Αυτο το ειχα εγω σαν ορισμα της μεθόδου
    i = Collumncol.IndexOf(cellname1);
                        j = Collumncol.IndexOf(cellname2);
    z = j;
                        table.Columns[cellname2].SetOrdinal(i);
                        table.Columns[cellname1].SetOrdinal(j);



    ΥΓ.: Δεν το πιστευω την ειχα μπροστα μου και χαρις σε αυτο το οτι δεν ηξερα τι ηταν εβγαλα 2 RC εκδοσεις της βιβλιοθηκης μου την μια μετα την αλλη :lol:

    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  23-10-2006, 08:13 19011 σε απάντηση της 19003

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Συνημμένα: InsertColumn.png

     angarato_surion wrote:
    Τελικα τα καταφερα, με ενα πειραμα ειχα προσεξει μια ιδιοτητα (setordinal ) η οποια δεν καταλαβαινα τι εκανε (δεν ξερω τι σημαινει η λεξη ) επαιξα λιγο με αυτην και το πετυχα.

    Η μέθοδος «SetOrdinal», δυστυχώς δεν έχει το χαρακτήρα της μόνιμης αλλαγής.

    Άρα θα πρέπει να τρέχει κάθε φορά με ένα «public override void EndInit()» στο dataTable.

    Δεν πιστεύω ότι είναι ότι καλύτερο.

    Όσο για το Insert Column:

     



    while (!dead) learn();
  •  23-10-2006, 11:06 19019 σε απάντηση της 19011

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    μετα απλως αποθυκευονται τα στοιχεια του DataSet παλι σε ενα αρχειο xml μορφης. Τουλχυστον στο αρχειο εγιναν μονυμα..

    το screenshot απο τποιο προγραμμα ειναι; απο την VC#2005 express edition;

    Εγω απλως κανω μια βιβλιοθηκη η οποια χησριζεται καποια xml αρχεια με συγκεκριμενη δομη σαν βασης δεδομενων.

    η insertcolumn νομιζα οτι ηταν μεθοδος της κλασσης datacollection .
    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  23-10-2006, 11:30 19022 σε απάντηση της 19019

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

     angarato_surion wrote:
    μετα απλως αποθυκευονται τα στοιχεια του DataSet παλι σε ενα αρχειο xml μορφης. Τουλχυστον στο αρχειο εγιναν μονυμα..

    Σωστό και αυτό :)


     angarato_surion wrote:
    το screenshot απο τποιο προγραμμα ειναι; απο την VC#2005 express edition;

    VS2005Pro

     

     


    while (!dead) learn();
  •  23-10-2006, 11:30 19023 σε απάντηση της 18995

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

     angarato_surion wrote:
    Δεν υπαρχει εντολη Insert στις στηλες του πινακα.
    απλως θελω να κανω το προγραμμα να αλλαζει τις στηλες αυτοματα(γιατι σιγα μην το κανει ο χρηστης)


    Από τη μια λοιπόν έχεις ένα xml που περιέχει τα δεδομένα σου. Από την άλλη έχεις ένα συγκεκριμένο τρόπο που θέλεις να φαίνονται αυτά στο user interface. Αυτά τα δύο δεν εμπλέκονται μεταξύ τους.
    Μήπως κάνεις τον κόπο να ορίσεις το configuration των στηλών σε ένα ξεχωριστό αρχείο, το οποίο μπορείς να το αλλάζεις και χωρίς recompile, και να γράψεις έναν ωραίο μικρό κώδικα που στήνει το grid σου με βάση το αρχείο αυτό;

    Νατάσα Μανουσοπούλου
  •  23-10-2006, 14:07 19038 σε απάντηση της 19022

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    ε;

    και εγω που ξερω πως θα το θελει ο χρηστης;

    και δεν χρειιαζεται καθολου recompile αυτο που κανω ολα αυτα που θελω να κανω δεν γινονται με γραφηκο περιβαλον κοινως δεν δεχεται σαν ορισμα datagridview αλλα ενα ξερω datatable (που εμενα δεν με νοιαζει τι εχει μεσα και το αν ο χρηστης θελει η δομη μετα την αλλαγη να μεινει μονυμα στην βαση μετα απλως θα πρεπει να δωσει την εντολη στο datatable για αποθυκευση) δεν ξερω τι εννοεις για με το recompile :p

    Μιας και για την δομη του xml που δεχεται ξερω οτι θα επαναλαμβανονται καποια συγκεκριμενα tags που θα υπονοουν την την εγγραφη (ή αλλιως την row)
    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
  •  23-10-2006, 14:39 19042 σε απάντηση της 19038

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Πανάθεμά με κι αν κατάλαβα έστω και μια φράση από αυτό που λες...


    Νατάσα Μανουσοπούλου
  •  23-10-2006, 15:23 19048 σε απάντηση της 19042

    Απ: Πως αλλάζουμαι θέση σε 2 στήλες ενος datatable

    Λεω οτι που χρειαζεται το recompile στην αλλαγη της σειρας τον στηλων ενως πινακα.
    Υδροβάση(Hydrobase)
    profiles :
    codeplex
    sourceforge
    google code

    Υλοποιώ εφαρμογές υπό πληρωμή απλώς επικοινωνήστε μαζί μου
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems