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

 

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

Enhanced datagrid στο compact framework

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

    Sad [:(] Enhanced datagrid στο compact framework

    Θα ήθελα να φτιάξω ένα custom datagrid για το compact framework  το οποίο π.χ. να υποστηρίζει το doubleclick event.
    Καταρχήν έφτιαξα ένα class μέσα στο smartdevice project όπου έκανα inherit το datagrid. Δεν μου δίνει όμως ούτε τον αριθμό των clicks στο mousedown event, άρα δεν μπόρεσα να το φτιάξω.
    Μετά έφτιαξα ένα class project όπου πάλι έφτιαξα ένα class το οποίο κάνει inherit το datagrid έβαλα στο mousedown όταν είναι δύο clicks να κάνει raise ένα δικό μου event έκανα από το smartdevice project referce στο dll μου αλλά όταν πήγα να δηλώσω το class μου είπε ότι δεν μπορεί να το φορτώσει (imports of system.windows.forms.datagrid module failed........).
    Έχω δει όμως στο Internet κάποιους που έχουν φτιάξει τέτοια controls. Έχει κανείς ιδέα πως τα φτιάχνουν;


    Ευχαριστώ

    Νεκτάριος Κοκολάκης
  •  11-10-2005, 18:33 6107 σε απάντηση της 6106

    Απ: Enhanced datagrid στο compact framework

    ownerdraw και άγιος ο θεός;
    Χρήστος Γεωργακόπουλος
  •  12-10-2005, 17:33 6135 σε απάντηση της 6107

    Hmm [^o)] Απ: Enhanced datagrid στο compact framework

    χμμμμ φαντάζομαι ότι εννοείς να χρησιμοποιήσω τα προτερήματα που μου χάρισε ο θεός (υπομονή, επιμονή κ.τ.λ) σε συνδυασμό με την απαράμμιλης ευκολίας διαδικασία που μας χάρισε η microsoft, τα ownerdraw properties.
    Αποφάσισα ότι μάλλον το control μου δεν θα έχει doubleclick event.
    Ευχαριστώ για την απάντηση.

    Νεκτάριος Κοκολάκης
  •  12-10-2005, 17:54 6136 σε απάντηση της 6106

    Απ: Enhanced datagrid στο compact framework

    Τι ακριβώς ήθελες να το κάνεις το double click ? Κάτι έχω έτοιμο αν θυμάμαι καλά που το χρησιμοποιώ για να ανοίγω μια νέα φόρμα για ένα record όταν κάνει ο user double click πάνω στο αντίστοιχο row του grid. Αν σου κάνει πες μου να στο στείλω αύριο το πρωί. Δεν είναι για compact βέβαια, αλλά αν δεις τον κώδικα ίσως βγάλεις κάποια άκρη.
    Χρήστος Γεωργακόπουλος
  •  13-10-2005, 08:15 6139 σε απάντηση της 6136

    Απ: Enhanced datagrid στο compact framework

    Μάλλον δεν θα κάνει... Ο κλασικός (και άκομψος) τρόπος για να πιάσεις το double-click είναι να ορίσεις τα column styles του grid και από το column που σε ενδιαφέρει να πάρεις το textbox (αν θυμάμαι καλά) property το οποίο είναι το control μέσα στο οποίο γράφεις κι εμφανίζονται τα data. Μπορείς λοιπόν να κάνεις addhandler στο απλό click event και με εναν timer να ελέγχεις αν γίνονται γρήγορα δύο διαδοχικά clicks, οπότε και κάνεις ό,τι είναι αυτό που θες να κάνεις. Το πρόβλημα είναι ότι στο CF το datacolumn δεν κάνει expose το control το οποίο περιέχει, οπότε... βρίσκεις workaround. Σκέφτηκες τη λύση του context menu?


    Vir prudens non contra ventum mingit
  •  13-10-2005, 18:52 6159 σε απάντηση της 6139

    Απ: Enhanced datagrid στο compact framework

    Ναι, σίγουρα δεν κάνει αφού είναι για κανονικό framework.
    Το πρόβλημα με το contrext menu είναι ότι θέλει δεξί κλικ και στα PDA' s το δεξί κλικ δεν είναι εύκολη υπόθεση.
    Ευχαριστώ για την απάντηση.

    Νεκτάριος Κοκολάκης
  •  14-10-2005, 09:50 6165 σε απάντηση της 6159

    Απ: Enhanced datagrid στο compact framework

    To δεξί κλικ αντιστοιχεί στο tap-and-hold. Μπορείς να εμφανίσεις το context menu απλά ορίζοντας ενα ContextMenu control και συνδέοντάς το με το control που σε ενδιαφέρει. Επίσης, απ' ό,τι είδα, αν φτιάξεις ένα UserControl με ένα DataGrid για να το κάνεις custom, αυτό έχει double-click... Μήπως την πρώτη φορά δεν έκανες κάτι καλά;
    Vir prudens non contra ventum mingit
  •  16-10-2005, 10:23 6192 σε απάντηση της 6165

    Απ: Enhanced datagrid στο compact framework

    Ναι αλλά με πιο event θα το εμφανίσω; (Ή δεν κατάλαβα κάτι καλά στην απάντησή σου;)
    Το UserControl που έφτιαξες προσπάθησες να το φορτώσεις σε smartdevice project; Γιατί εκεί είναι το πρόβλημα.

    Ευχαριστώ για την απάντηση
    Νεκτάριος Κοκολάκης
  •  17-10-2005, 07:38 6201 σε απάντηση της 6106

    Απ: Enhanced datagrid στο compact framework

    Ναι, το φόρτωσα κι έτρεξε μια χαρά σε VS2003 beta... Τι εννόείς όταν λές με ποιό event να το εμφανίσεις;
    Vir prudens non contra ventum mingit
  •  17-10-2005, 15:18 6204 σε απάντηση της 6201

    Απ: Enhanced datagrid στο compact framework

    >> Ναι, το φόρτωσα κι ετρεξε μια χαρά σε VS2003 beta...
    Μήπως εννοείς VS2005 beta; Γιατί στο καινούριο framework έχουν αλλάξει όλα αυτά, εγώ χρησιμοποιώ το VS2003 .NET. Στο οποίο το datagrid  δεν έχει διπλό κλικ.
    >>Τι εννοείς όταν λές με ποιο event να το εμφανίσεις;
    Εννοώ ότι θα πρέπει να εμφανίσω το context menu είτε με δεξί κλικ (που δεν βολεύει επειδή έχω pda) ή με διπλό κλικ που δεν έχω ατο datagrid (και που είναι αυτό που θα ήθελα να κάνω, και γίνεται όλη η συζήτηση)

    Ευχαριστώ

    Νεκτάριος
  •  17-10-2005, 16:37 6212 σε απάντηση της 6204

    Απ: Enhanced datagrid στο compact framework

    Ναι έχεις δίκιο ως προς το custom control... Το δοκίμασα σε VS2005 beta.

    Πάντως πληροφορίες για το context menu (που είπαμε, εμφανίζεται με tap-and-hold - δεν έχει σχέση το δεξί-κλικ) μπορείς να βρεις εδώ: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/tapnhold_support.asp

    ενώ για το πως θα φτιάξεις ένα custom control με υποστήριξη double-click εδώ: http://samples.gotdotnet.com/quickstart/CompactFramework/doc/btndclick.aspx

    Βέβαια, αυτό το sample δεν είναι πολύ χρήσιμο γιατί όπως είπαμε, στο datagrid (κάτω από CF) δεν μπορείς να αναθέσεις το event αυτό πάνω στο textbox control που περιέχεται σε ένα cell.


    Vir prudens non contra ventum mingit
  •  18-10-2005, 17:17 6245 σε απάντηση της 6212

    Απ: Enhanced datagrid στο compact framework

    Καμιά φορά τα απλά πράγματα χάνονται πίσω από τις πολύπλοκες σκέψεις. Έχοντας στο μυαλό μου πως να φτιάξω double click αγνόησα παντελώς αυτό που έγραψες για το tab-and-hold. Έχεις απόλυτο δίκιο λοιπόν και σίγουρα είναι μια καλή "εναλακτική" λύση (και μάλλον φαίνεται ότι είναι και η μόνη).

    Ευχαριστώ

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