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

 

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

master-detail form data update

Îåêßíçóå áðü ôï ìÝëïò DaltonGR. Τελευταία δημοσίευση από το μέλος infoCENTER στις 16-09-2008, 13:12. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-09-2008, 15:07 44670

    master-detail form data update

    Καλημέρα,
    Έχω δημιουργήσει μία φόρμα η οποία έχει δεδομένα απο 2 πίνακες. Χρησιμοποίησα ένα dataset με τα κατάλληλα relationships μεταξύ των πινάκων, και με drag and drop πάνω στην φόρμα δημιουργήθηκαν αυτόματα τα textboxes,labels... Όπως και ένα BindingSource.Τώρα όταν αλλάζω κάτι στον βασικό πίνακα και στον άλλο πίνακα και πατήσω το κουμπί της αποθήκευσης πάνω στο binding source, αποθηκεύει μόνο τις αλλαγές στον βασικό πίνακα και όχι στον άλλο. Πώς μπορώ να αποθηκεύσω τις αλλαγές;
    Ευχαριστώ εκ των προτέρων.
  •  15-09-2008, 16:27 44672 σε απάντηση της 44670

    Απ: master-detail form data update

    Ίσως αν έδειχνες τον κώδικα που αποθηκεύε τις αλλαγές...


    Vir prudens non contra ventum mingit
  •  15-09-2008, 17:09 44674 σε απάντηση της 44672

    Απ: master-detail form data update

    αυτόματα γίνεται δεν έχω ενσωματώσει κάποια μέθοδο για την αποθήκευση.Υποτίθεται ότι απο το bindong source,νομίζω δεν είμαι σίγουρος, αν πατήσεις το εικονίδιο το αποθηκεύει και τις αλλαγές που έχουν γίνει στους άλλους πίνακες.
  •  15-09-2008, 18:08 44676 σε απάντηση της 44674

    Απ: master-detail form data update

    Πατάς την αποθήκευση του BindingNavigator που σου έχει δημιουργήσει το VS όταν έκανες Drop μέσα στην φόρμα το Dataset? Αν ναι τότε το BindingNavigator αναφέρεται στο πρώτο Table και για αυτό σου κάνει save μόνο σε αυτό. Θα πρέπει να φτιάξεις και ένα δεύτερο BindingNavigator για το δεύτερο Table του Dataset αν θέλεις να δουλέψεις με τον τρόπο αυτό.

  •  15-09-2008, 18:22 44677 σε απάντηση της 44676

    Απ: master-detail form data update

    στην συγκεκριμένη εφαρμογή έχω 6-7 πίνακες εκτός του κυρίως πίνακα.δηλαδή έχω πίνακα customers και έχω 6-7 συνδεδεμένους με αυτόν πίνακες. θα πρέπει να εισάγω ένα binding source για κάθε πίνακα;Υπάρχει κάποιος άλλος τρόπος για αυτό;

    Ευχαριστώ.

  •  15-09-2008, 19:29 44678 σε απάντηση της 44677

    Απ: master-detail form data update

    Ας κοιτάξεις πρώτα να καταλάβεις πως γίνεται με δύο DataTables και μετά βλέπεις για τα πιο πολλά.

    Η μεθοδολογία που ακολουθείς με Drag & Drop και να τα φτιάχνει όλα το VS είναι κάτι που έχω πάρα, μα πάρα πολύ καιρό να χρησιμοποιήσω.

    Για κάθε πίνακα χρειάζεσαι και ένα BindingSource. Αν θέλεις να συνδέσεις δύο Tables που συνδέονται μεταξύ τους, αφού πρώτα κάνεις το Relation στο Dataset που υπάρχουν, θα πρέπει ανάλογα να φτιάξεις τα BindingSources. Οι ερωτήσεις που κάνεις είναι πολύ αρχικές και θα έλεγα ότι καλύπτονται πλήρως και από το MSDN αλλά και από το Google αν ψάξεις. Προσπάθησε πρώτα εκεί και στην συνέχεια ρώτα αυτά που δεν έχεις καταλάβει γιατί αν το πάρουμε από την αρχή θα έχουμε πάρα πολλά να πούμε.

  •  16-09-2008, 10:24 44682 σε απάντηση της 44678

    Απ: master-detail form data update

    Καλημέρα,
    Δίκιο έχεις.Απλώς όταν τον πίνακα απο το datasource manager το έχω σε μορφή grid view η ανανέωση γίνεται κανονικά, όταν το κάνω με details view δεν λειτουργεί καθόλου.Καμία ιδέα σε αυτό γιατί γίνεται έτσι. Απλώς θέλω να αποφύγω αν γίνεται να δημιουργήσω απο το μηδέν όλα τα controls και τις insert,update statements του  SQL.
    Ευχαριστώ και πάλι.

  •  16-09-2008, 10:44 44683 σε απάντηση της 44682

    Απ: master-detail form data update

    Δεν χρειάζεται να δημιουργήσεις τίποτα από το μηδέν. Απλά θα πρέπει να κάνεις update το DataSet χειροκίνητα. Δες στο MSDN πως κάνεις update το DataSet μέσω του DataAdapter.


    Vir prudens non contra ventum mingit
  •  16-09-2008, 10:55 44684 σε απάντηση της 44683

    Απ: master-detail form data update

    Να σας δείξω ένα κομμάτι κώδικα.Παρακάτω εκτελείται όταν πατηθεί στο binding navigator το κουμπί αποθήκευση.

    Private Sub CustomersBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CustomersBindingNavigatorSaveItem.Click
            Me.Validate()
            Me.CustomersBindingSource.EndEdit()
            Me.CustomersTableAdapter.Update(Me.HealthyPeopleDataSet.Customers)
            Me.CustomersInfoBindingSource.EndEdit()
            Me.CustomersInfoTableAdapter.Update(Me.HealthyPeopleDataSet.CustomersInfo)
    End Sub

    υποτίθεται ότι έπρεπε να αποθηκεύση τυχών αλλαγές και στους δύο πίνακες. Αλλα αποθηκεύει μόνο στον κύριο πίνακα(Customers) και όχι στον δεύτερο(CustomersInfo).
  •  16-09-2008, 13:12 44685 σε απάντηση της 44684

    Απ: master-detail form data update

    Με βάση των παραπάνω κώδικα αυτό που λες θα έπρεπε να κάνει. Για να μην το κάνει όμως σε κάποιο σημείο έχεις κάνει λάθος.

    Μήπως κάτι τρέχει με την Update του CustomersInfo; Δοκίμασε να διαβάζεις μόνο αυτό το Table σε μία άλλη φόρμα και προσπάθησε να το κάνεις Update. Προσωπική μου γνώμη είναι ότι δεν θα πρέπει να το κάνει από την στιγμή που ο κώδικας γράφεται αυτόματα οπότε κάπου αλλού θα πρέπει να είναι το λάθος για να μην μπορεί να φτιάξει σωστά το VS των κώδικα που επικοινωνεί με την βάση και αποθηκεύει τις αλλαγές.

    Εν ανάγκη στείλε μας το project να το δούμε και εμείς αν η παραπάνω πρόταση δεν σε οδηγήσει στην σωστή κατεύθυνση.

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