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

 

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

DataGridViewRow.Visible = FALSE που να σε πάρει...

Îåêßíçóå áðü ôï ìÝëïò ToyMaker. Τελευταία δημοσίευση από το μέλος ToyMaker στις 24-08-2005, 16:39. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  23-08-2005, 18:16 4551

    DataGridViewRow.Visible = FALSE που να σε πάρει...

    Από ό,τι καταλαβαίνετε, μιλάω για .NET 2, VS2005, Windows φορμίτσα.

    Έχω bound το datagridview, μου δείχνει το ντάτο κανονικά. Θέλω λοιπόν με ένα κουμπάκι να κάνω toggle το visible property ενός row. Οποιουδήποτε row σε πρώτο χρόνο. Μου πετάει λοιπόν αυτό το κουλό exception που αδυνατώ να καταλάβω:

    "Row associated with the currency manager's position cannot be made invisible.", πάνω στη σχετική γραμμή (ReportGrid.Rows(0).Visible = False).

    Γνωρίζει κανείς τί θέλει ο ποιητής από τη ζωή μου και τί εννοεί; Μετά από σχετικό search με χύμα το exception στο google, μου έρχεται μόνο ένα σχετικό αποτέλεσμα και αυτό στα ρώσικα...και αναφορά από τη microsoft ούτε λόγος... >:-(

    Ευχαριστώ εκ των προτέρων...

  •  23-08-2005, 19:04 4560 σε απάντηση της 4551

    DataGridViewRow.Visible = FALSE που να σε πάρει...

    Χωρίς να το έχω δοκιμάσει ποτέ μου.... (!!!!) σου λέω ότι πρέπει να αλλάξεις το current record στο datagridview γιατί ο currency manager την ώρα που του λες να κρύψει τη γραμμή 0... ...ΕΙΝΑΙ στην γραμμή μηδέν και πρέπει πρώτα να δείξει την επόμενη πριν την κρύψεις....

    Τώρα αν δεν ξέρεις τι είναι ο currency manager, δες το msdn. Χονδρικά σκέψου πως είναι ένα object που ξέρει που βρίσκεσαι μέσα στο datagridview και αντίστοιχα στο bound dataset ώστε να μπορείες να κάνεις browsing, paging & editing....

    rousso

    rousso
  •  24-08-2005, 12:18 4597 σε απάντηση της 4560

    Απ: DataGridViewRow.Visible = FALSE που να σε πάρει...

    Σ'ευχαριστώ πολύ για την απάντησή σου.

    Έχεις δίκιο, από το row 0 και μετά μπορώ να παίξω με το row visibility.
    Το θέμα είναι: πώς μπορώ να απαλλαχτώ από αυτόν τον manager; Από ό,τι καταλαβαίνω εμφανίζεται αυτόματα με το data binding. Άρα, πώς μπορώ να του κάνω reference ώστε να τον στείλω ή να πειράξω το index του όποτε χρειάζεται; Πάντως δεν μπορώ να τον βρώ κάτω από το datagridview class (όπου θα ήταν και λογικό να τον βρώ κατά την ταπεινή μου άποψη...)

  •  24-08-2005, 15:33 4600 σε απάντηση της 4597

    Απ: DataGridViewRow.Visible = FALSE που να σε πάρει...

    Δες στο MSDN ό,τι έχει για την CurrencyManager class.

    Π.χ: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwindowsformscurrencymanagerclasstopic.asp

    Το παραπάνω είναι από το .NET 1.1 αλλά θα βρείς το αντίστοιχο για το 2.0 στο documentation που έχει μαζί της η beta.

    rousso


    rousso
  •  24-08-2005, 15:56 4602 σε απάντηση της 4600

    Big Smile [:D] Απ: DataGridViewRow.Visible = FALSE που να σε πάρει...

    Το έχω ήδη διαβάσει, αλλά δυστυχώς δεν έβγαλα νόημα.

    Και δεν με νοιάζει να σου πω να μάθω τι ακριβώς κάνει το class, γιατί μια χαρά έχω δουλέψει μέχρι τώρα και χωρίς αυτό. Απλά αναρωτιόμουν μήπως υπάρχει κάποιος γρήγορος τρόπος να λύσω το πρόβλημά μου σε 1ο χρόνο και να πάω παρακάτω...σε ευχαριστώ πολύ πάντως που μπήκες στον κόπο να απαντήσεις.

    Πήξαμε στα classes πια...από classic ASP ξεκίνησα και πλάκα πλάκα αρχίζει να μου λείπει! ;-)

  •  24-08-2005, 16:39 4604 σε απάντηση της 4602

    Απ: DataGridViewRow.Visible = FALSE που να σε πάρει...

    Το βρήκα.
    Όταν πρωτοσκάει μύτη το datagridview, το cell που έχει focus είναι το 0,0.
    Παράλληλα, το currencyManager.position σε αυτή την περίπτωση είναι το row που κάποιο από τα cells του έχει focus.
    Άρα: Πριν κάνω toggle/hide τα rows που δεν θέλω να φαίνονται, έκανα theGodDamnGrid.CurrentCell = ... --> Κάποιο από τα cells ενός row που δεν θα κρυβόταν.

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