Voici ce qui se passe après avoir appuyé sur un bouton: Veuillez noter que je le fais avec un autre contrôle appelé la première tentative est réussie. P> Cependant, la deuxième fois que je l'appuie , il affiche la même chose! p> Quelqu'un sache si je vous rafraîchit la DataGridView correctement? P> P> graphique1 code> et ça fonctionne bien, Il le remplit avec les nouvelles données requises, mais
datagridview code> ne reste que le même p>
9 Réponses :
Initialisez-vous la source de données la première fois dans un Il peut être réinitialisé la source de données sur chaque message. P> si (! page.ispospostback) code> p>
Avez-vous essayé d'appeler Endedit () code> avant
Actualiser () CODE>? P>
Rafraîchir () n'est pas ce dont ils ont besoin dans ce cas, je crois Stackoverflow.com/a/14501458/427684
A DataGridView établit des liaisons la première fois que vous attribuez la DataSource. Le problème est que les missions de données de données ultérieures, si les missions ont une structure différente de l'affectation initiale, échouera parce que les fixations sont maintenant "off" p>
Vous devez réinitialiser la DataGridView Ainsi, afin que les données soient liées à une nouvelle. (Le lien est pour VB mais il vous suffit de connaître les méthodes à appeler. Même copier / coller serait surcharger.) P>
Essayez ceci?
Actualiser () Ne peut pas être utilisé pour des données rafraîchissantes!
Vous pouvez faire comme @cycling suggéré, vous pouvez également utiliser une liaison à laquelle je pense est la méthode recommandée par Microsoft.
BindingSource bs = new BindingSource(); bs.DataSource = ConnectandReadList(some_query); dataGridView1.DataSource = bs; dataGridView1.Refresh;
Différence subtile ici à @fake mais appelant "force le contrôle d'invalider sa zone client et redessiner immédiatement et tout contrôle des enfants." P>
blockQuote> Comme cette méthode est liée à tout contrôle, non à l'actualisation des données relatives à un objet. Reportez-vous à ici (méthodes DataGridView) et faites défiler jusqu'à rafraîchir et vous verrez Le lien pointe vers Control.Refresh Methode P> Vous voulez quelque chose comme ceci; p> et vous pouvez simplement appeler Actualiser () code> ne fonctionnera pas comme l'appelant sur le DataGridView uniquement
réinitialisé () Code> sur
BS code> (votre
liaison de liaison code>); p>
RESETBINDINGS FTW. Il y a beaucoup de suggestions énumérées pour des questions telles que celles-ci, mais c'est le seul à travailler pour un dataGridView de DataNTound. Cela devrait être la réponse en tant que réponse acceptée des liens vers un poste de forum sans résolution ...
En fait, le problème est là que votre table de table n'est pas rafraîchissante. J'ai utilisé ce code après la modification de la table (mydatabase.tbl) pour l'actualiser:
tblTableAdapter.Fill(mydatabaseDataSet.tbl); dataGridView1.DataSource = tblBindingSource; dataGridView1.Update();
Cette ligne de code charge les données dans le wmp_exportdataset.dest_ax_pricgediscadmtransentité code> Tableau. Vous pouvez le déplacer, ou l'enlever, selon le besoin.
Peu d'astuce que vous pouvez faire si vous liez une liste Lorsque vous le réglez sur votre source de données, ajoutez TOLIST () à la fin de la fin:
dataGridView1.DataSource = ConnectandReadList(some_query) var m = dataGridView1.GetType().GetMethod("OnDataSourceChanged", BindingFlags.NonPublic | BindingFlags.Instance); m.Invoke(dataGridView1, new object[] { EventArgs.Empty });
Est
connectableAndreadlist code> renvoyant des données différentes?
@gmcalab oui définitivement,
Qu'est-ce que exactement i> est cette méthode. Et êtes-vous sur le fil de l'interface utilisateur à l'époque?
J'admette la méthode de rafraîchissement sur le
datagridview code> semble actualiser les données, mais cela "oblige le contrôle à invalider sa zone client et redessinant immédiatement et tout contrôle des enfants".
BLANDSOURE CODE> Tout le chemin! J'ai commenté des terrains sur cette page, mais la plupart de ces réponses ne répondent pas à la méthode Aformentionnée
Actualisée () Code> qui est la mauvaise chose à utiliser et c'est juste plus de code pour effacer le
DataGridView code> et réglez-le à nouveau!