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

 

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

Υπολογισμός unbound columns ανά row σε databound datagridview (rowadded / cellformatting events)

  •  29-06-2007, 02:41

    Υπολογισμός unbound columns ανά row σε databound datagridview (rowadded / cellformatting events)

    Το σενάριο είναι απλό: Εχω ένα databound datagridview στο οποίο θέλω να προσθέσω ένα unbound column το οποίο να υπολογίζει την τιμή του βάσει κάποιων άλλων τιμών του τρέχοντος row. Συνεπώς όταν ξεκινάει το datagridview να φέρνει τα rows του, θέλω να γίνεται ο υπολογισμός για κάθε row. Αμ δε!

    EDIT: Για να είναι πιό πλήρης η περιγραφή να πω οτι κάνω declarative και όχι programmatic databinding.

    Δοκίμασα να αξιοποιήσω το RowsAdded event, αλλά έχει την εξής περίεργη συμπεριφορά (παρά τα όσα χαρούμενα λέει το documentation για αυτό): Γινεται raise ΔΥΟ ΜΟΝΟ φορές, όσα rows και να έχω, και μάλιστα ο κώδικας που έχω γράψει εντός του event φαίνεται να τρέχει κανονικά και να υπολογίζει τιμές ΜΟΝΟ ΓΙΑ ΤΑ ΔΥΟ ΠΡΩΤΑ rows του datagridview μου! Μετά τίποτα! Ακόμα και με debug/step είδα οτι μετά τη δεύτερη φορά που γίνεται raise το event, "σκάνε" επάνω στο datagrid όλα τα rows χωρίς να ξανατρέξει το άτιμο. (Δεν είμαι τρελλός! Και αυτός εδώ ο άμοιρος το έχει διαπιστώσει: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1586558&SiteID=1)

    Δοκίμασα επίσης το CellFormatting event ως το μόνο εναλλακτικό που είχα στη διάθεσή μου. Δυστυχώς όμως αυτό τρέχει όχι μόνο όταν φτιάχνεται το datagridview, αλλά και όταν αλλάξω κελί, αλλάξω row, κουνήσω τον κέρσορα, βήξω, φταρνιστώ, κάνει δηλώσεις ο κυβερνητικός εκπρόσωπος ή κορνάρει ένα αυτοκίνητο από το δρόμο. Οπως καταλαβαίνετε, μάλλον είναι ασύμφορο μια και η τιμή του unbound column απαιτεί χρόνο και resources για να υπολογιστεί.

    Τι άλλο θα μπορούσα να δοκιμάσω; Να τραβήξω καμμια αγωγή στο RowsAdded event για παραπλάνηση κοινού;

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
    Δημοσίευση στην κατηγορία: , , ,
Δείτε όλες τις δημοσιεύσεις της Θεματική Ενότητας
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems