2011-04-24 5 views
0

J'ai ce code:C# - ajouter une nouvelle ligne à dataset

DataRow myNewRow; 
    myNewRow = hRAddNewDataSet.Vication.NewRow(); 
    myNewRow["EmployeeID"] = Convert.ToInt32(employeeIDTextBox.Text); 
    myNewRow["VicationDate"] = vicationDateDateTimePicker.Value; 
    myNewRow["VicationSubject"] = vicationSubjectTextBox.Text; 
    myNewRow["VicationType"] = Convert.ToInt32(vicationTypeComboBox.SelectedValue); 
    myNewRow["Time"] = Convert.ToInt32(timeTextBox.Text); 
    myNewRow["VicationAs"] = Convert.ToInt32(vicationAsComboBox.SelectedValue); 
    myNewRow["StatementNo"] = statementNoTextBox.Text; 
    myNewRow["StatementDate"] = statementDateDateTimePicker.Value; 
    myNewRow["Info"] = infoTextBox.Text; 
    hRAddNewDataSet.Vication.Rows.Add(myNewRow); 

Quand je lance ce code, il ajoutera une nouvelle ligne que je veux, mais il mettra également à jour la ligne actuelle dépend de la valeur de

vicationBindingSource.Position 

Comment puis-je résoudre ce problème?

+0

pouvez vouloir factoriser '' vication' à vacation' – briantyler

+0

@B Tyler: Pourquoi je fais whould cette?? – Saleh

+0

que voulez-vous dire par "mettre à jour la ligne actuelle"? mettre une autre rangée comme courant? mettre à jour les valeurs dans la ligne en cours? – DarkSquirrel42

Répondre

1

car il y a une liaison de données toutes vos modifications aux propriétés liées des contrôles sera écrit à la source de données (normalement après validation réussie du contrôle)

donc quand vous entrez les valeurs de vous nouvelle ligne, sont réellement changer les valeurs de la ligne actuelle le

vous devez ajouter votre ligne en utilisant la méthode AddNew() de votre BindingSource

+0

Où dois-je appeler cette méthode? cette méthode n'a pas besoin de paramètres, alors où dois-je l'ajouter? – Saleh

+0

bien, je ne connais pas votre application, mais quand vous appelez AddNew() une nouvelle ligne sera insérée dans votre datatable et cette nouvelle ligne deviendra la ligne courante. donc vous voudrez peut-être mettre cet appel dans un gestionnaire de clic, lié à l'événement Click d'un bouton – DarkSquirrel42

Questions connexes