2009-09-17 4 views
0

Je souhaite insérer une ligne dans la table à l'aide de linq. J'ai écrit ce codeLinq à sql - Après l'appel InsertOnSubmit (newItem) dans le code, l'élément inséré n'apparaît pas dans DataGridView

var db = ((Table<PersonAddress>)personAddressBindingSource.DataSource); 
db.InsertOnSubmit(new PersonAddress { Address = "abc", PersonId = 5 }); 

DataGridView connecté à personAddressBindingSource. mais lorsqu'il est exécuté au-dessus du code, dataGridView n'affiche pas de nouvelle ligne avant l'appel SubmitChanges();

grille aussi pas rafraîchir après SubmitChanges d'appel(), mais quand obtenir des données de nouveau db il est ok par ce code

DataClasses1DataContext db = new DataClasses1DataContext(); 
personAddressBindingSource.DataSource = db.PersonAddresses; 

Pourriez-vous s'il vous plaît me aider.
Merci

Répondre

1

Je suppose que vous exécutez votre db.SubmitChanges() après l'instruction InsertOnSubmit? La source de données GridView ne met pas automatiquement à jour sa source de données, vous devez donc le faire manuellement.

Si Visual Studio n'est pas installé pour l'instant, il existe une méthode Refresh() sur la source de données. Mais appeler GridView.DataBind() devrait également recharger les données.

Espérons que ça aide!

Questions connexes