Μάνο, ευχαριστώ που με διορθώνεις ως προς τι θα έπρεπε να ήμουν λίγο πιο αναλυτική για το που συμβαίνει το πρόβλημα. Δυστυχώς όταν είμαι βιαστική, αποφεύγω να αναλύσω αρκετά κάτι και έτσι δεν βοηθάω, αλλά ούτε και βοηθιέμαι να επιλύσω κάτι που με απασχολεί. Θα το διορθώσω από εδώ και πέρα.
Δεν επέλεξα μια κοινή βάση που την έχουν όλοι, για το λόγο ότι τα πεδία στην Northwind λόγου χάρη (αν πάρουμε τους πίνακες Customers και Orders) δεν ήταν not null όπως συνέβαινε με τα δικά μου πεδία (foreign keys & Identity) και δεν θα περίμενα να σκαλίσει κανείς την βάση αυτή για να προσομοιώσει το δικό μου παράδειγμα. Επομένως ανέβασα ένα sample με τους δικούς μου πίνακες (και όχι όλη την εφαρμογή μου) για να δείξω πως καλώ την κάθε φόρμα και τι έχω κάνει εκεί, έστω και αν ρίσκαρα να δείξω "ευαίσθητα" δεδομένα.
Το πρόβλημα εστιάζεται σε 3 σημεία. Πρώτο είναι ότι όταν η φόρμα καλείται μόνη της (τα παραστατικά από το μενού Κινήσεις--> Αγορές δεν μπαίνει σε AddNew, ενώ βάσει του κώδικά μου θα έπρεπε, γιατί εκεί ο χρήστης περιμένει να ανοίξει η φόρμα για να καταχωρήσει εγγραφή χωρίς να του δείξει όλες τις εγγραφές.
Το δεύτερο είναι ότι όταν η φόρμα καλείται από το μενού Λίστες--> Αγορές και εκεί κάνει double click στο datagridview για την εγγραφή που τον ενδιαφέρει, ανοίγει η φόρμα (η κύρια που υπάρχει στο μενού Κινήσεις--> Αγορές) για να του δείξει με λεπτομέρεια την εγγραφή. Εκεί έχω το πρόβλημα με το DataDridViewComboBoxCell, όπου δεν μου εμφανίζει τις τιμές που έχω στην βάση και παίρνω το μήνυμα για το DataGridViewComboBoxCellValue is not valid. Θεωρώ πως κάτι συμβαίνει με τον κώδικά μου, γιατί αν απλά βάλλω εκείνο το datagridview σε μια άλλη νέα φόρμα για test με τα comboboxes, οι τιμές εμφανίζονται μια χαρά σε αυτές τις κολώνες του grid.
Ένα τρίτο πρόβλημα είναι οι υπολογισμοί, οι οποίοι δεν θέλω να γίνονται άπαξ, αλλά μόνο όταν κάποιος τροποποιήσει κάποια εγγραφή και όχι όταν καλείται η φόρμα για να μου δείξει τα δεδομένα από την βάση. Αν το αφήσω αυτό να γίνεται κάθε φορά και αφού τα πεδία υπολογίζονται βάσει του κώδικα που έχω γράψει στην RowChanged και TableNewRow γίνεται ένα μικρό μπάχαλο, γιατί εκεί που πάει να δείξει κάποια υπάρχουσα εγγραφή αρχίζουν και παίζουν default τιμές και ξαναυπολογίζονται όλα τα πεδία.
Ελπίζω τώρα να ήμουν πιο σαφής. Αν πάλι θεωρείς πως δεν βοηθάω, τότε να προσπαθήσω να χρησιμοποιήσω την Northwind και να φτιάξω εκ νέου ένα sample εστιάζοντας και πάλι στα τρία σημεία που κυρίως με απασχολούν και είναι μεγάλο το πρόβλημα.
"Μη σταματάς να αναζητάς αυτό που αγαπάς, ειδάλλως θα καταλήξεις να αγαπάς ό,τι βρίσκεις." (Αγνώστου)