Je peuploie la grilleview.datasource à partir d'un modèle d'entitéFramework: Lorsqu'une nouvelle ligne est ajoutée aux _enties, j'essaie de mettre à jour la grille (essayé d'utiliser la même instruction que ci-dessus, Réglage de la null, puis retour aux _entisties.Timelogs, etc.), mais la grille ne sera tout simplement pas à jour. Même si des _entisties.Timelogs contiennent réellement les nouvelles lignes. P> Qu'est-ce que je manque? P> P>
4 Réponses :
Anciene réponse: Avez-vous essayé d'appeler GridView.Databind ()?
Woops, je pensais que c'était une webforms DataGrid. p>
Si vous êtes sur WinForms, vous voudrez peut-être examiner le Classe de liaison. La liaison à cette classe au lieu de droite à votre liste fournira une notification de mise à jour, etc. p>
Le code suivant fonctionne pour moi: p>
List<Person> names = new List<Person>(); names.Add(new Person(){ FirstName = "Steve", LastName = "Jobs" }); names.Add(new Person() { FirstName = "Bill", LastName = "Gates" }); BindingSource source = new BindingSource(); source.DataSource = names; dataGridView1.DataSource = source; names.Add(new Person() { FirstName = "Steve", LastName = "Balmer" }); source.ResetBindings(false);
BLANTSOURCE @ MSDN: MSDN.MicRosoft.com/fr- US / Bibliothèque / ...
Toujours ne fonctionne pas. Je veux simplement que la grille mise à jour. Je n'ai pas vraiment besoin de notification de mise à jour. Peut-être que ce sont les données sous-jacentes qui sont le cadre d'entité.
J'ai posté le code ci-dessus. Les données sous-jacentes ne devraient pas avoir d'importance. Avez-vous appelé ResetBindings ()?
Cela ne fonctionne pas lorsque la liaison se réfère à une requête de cadre d'entité.
Oui, malheureusement, cela ne fonctionne pas après avoir mis à jour une variable de niveau de formulaire (re-récupéré du service de repos).
La réponse est d'avoir la grille de la grille connectée à la liste de liaison plutôt que la liste. P>
grid.EndEdit(); BindingSource.EndEdit(); _entities = new dbEntities(); firmeBindingSource.DataSource=_entities.TimeLogs;
Bienvenue à Stackoverflow! Il est toujours préférable de fournir une brève description d'un exemple de code pour améliorer la précision post :)
Cela fonctionne pour moi:
dataGridView.DataSource = null; dataGridView.DataSource = listOfSomething;
Bien que ce code puisse répondre à la question, fournissant un contexte supplémentaire concernant la raison et / ou la manière dont ce code répond à la question améliore sa valeur à long terme. Par exemple, y a-t-il une raison pour laquelle définir la source de données à NULL puis quelque chose d'autre fonctionne?
Ce code provoque la mise à jour de l'ensemble du contenu de la grille de données, tout en définissant simplement la source de données sur la même valeur à nouveau - n'est pas
C'était la seule chose qui a fonctionné pour moi. J'ai eu réinitialisé (Faux) Travailler sur d'autres formes, mais pour une raison quelconque, il s'est arrêté quand je suis allé dans le cadre d'entité.