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

 

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

Ένωση datarow με controls

Îåêßíçóå áðü ôï ìÝëïò mkoukou. Τελευταία δημοσίευση από το μέλος mkoukou στις 05-08-2006, 20:07. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-08-2006, 17:11 15521

    Ένωση datarow με controls

    Δουλεύω σε Visual basic 2005  κι έχω ένα dataset σε μία φόρμα με διάφορα controls τα οποία έχω κάνει databindings με τον Tables(0) του.

    Όταν επεξεργάζομαι μία datarow και πατάω αποδοχή κάνω

    me.validate

    datarow.Endedit

    οπότε σώζωνται στο dataset

    Όταν όμως θέλω να δημιουργήσω μία νέα εγγραφή με datarow=Datatable.NewRow ώστε να κάνω στο τέλος DataTable.Rows.Add(datarow),

    το datarow δεν έχει πάρει τις τιμές από τα controls με αποτέλεσμα να πρέπει για κάθε τιμή να κάνω το εξής:

    datarow("Field1")=txtField1.Text

    Μήπως υπάρχει τρόπος να γίνεται αυτόματα (όπως με το Edit) ώστε να αποφεύγω όλη αυτή την διαδηκασία;

  •  05-08-2006, 17:51 15523 σε απάντηση της 15521

    Απ: Ένωση datarow με controls

    Θα πρέπει να καλέσεις την AddNew του BindingSource object που αντιστοιχεί στο DataTable(0).
    Vir prudens non contra ventum mingit
  •  05-08-2006, 18:42 15525 σε απάντηση της 15521

    Απ: Ένωση datarow με controls

    Βασικά αυτό κάνω.

    Πιο συγκεκριμένα κάνω τα εξής

    dsData = New DataSet

    dsData = {Fill dataset}

    dtData = dsData.Tables(TableName)

    txt_Address.DataBindings.Clear()

    txt_Address.DataBindings.Add("Text", dtData, "Contacts_Address")

    Dim drData as Datarow = dtData.NewRow

    Αυτή τη διαδηκασία ακολουθώ.

    Μήπως εννοείς κάτι άλλο;
  •  05-08-2006, 19:01 15528 σε απάντηση της 15525

    Απ: Ένωση datarow με controls

    Όχι, δεν κάνεις αυτό που λέω, καλείς την NewRow του DataTable, εγώ λέω να καλέσεις την AddNew του BindingSource object.

    Για να το κάνεις αυτό, βάλε πάνω στη φόρμα ένα BindingSource object, βάλε αυτό ως DataSource των controls που θες να κάνεις databind και βάλε ως Datasource του DataBinding object το DataTable(0). Κατόπιν θα μπορείς να καλέσεις την NewRow του BindingSource object.

    Αργότερα, όταν καταλάβεις πως δουλεύει το όλο κόλπο, θα δεις ότι γίνεται να πάρεις και το default BindingSource object που δημιουργείται όταν κάνεις DataBindings.Add αλλά προς το παρόν, δοκίμασε τα παραπάνω.

    Βέβαια, αν είχες κάνει το binding μέσα από τον designer αντί χειροκίνητα που το κάνεις τώρα, θα είχες έτοιμο το BindingSource object.
    Vir prudens non contra ventum mingit
  •  05-08-2006, 20:07 15535 σε απάντηση της 15521

    Απ: Ένωση datarow με controls

    KelMan ευχαριστώ.

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