Bonjour,
J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis
de performances.
Voici le bout de code qui pose problème:
string valueStr = value.ToString();
DataGridViewRowCollection rows = dataGridView1.Rows;
foreach (DataGridViewRow dataGridViewRow in rows) {
dataGridViewRow.Cells[0].Value = valueStr;
}
La première colonne est du type : DataGridViewCheckBoxCell
Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement
200 lignes dans mon composant.
Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la
sélection ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Bacelar
Si vous voulez modifier les données, utilisez le DataSource de la DataGridView. -- Paul Bacelar MVP VC++
"FX" wrote in message news:43ce0178$0$17420$
Bonjour, J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis de performances. Voici le bout de code qui pose problème: string valueStr = value.ToString(); DataGridViewRowCollection rows = dataGridView1.Rows; foreach (DataGridViewRow dataGridViewRow in rows) { dataGridViewRow.Cells[0].Value = valueStr; }
La première colonne est du type : DataGridViewCheckBoxCell Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement 200 lignes dans mon composant. Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la sélection ?
Merci par avance. Fx
Si vous voulez modifier les données, utilisez le DataSource de la
DataGridView.
--
Paul Bacelar
MVP VC++
"FX" <kfx@free.fr.nospam> wrote in message
news:43ce0178$0$17420$636a15ce@news.free.fr...
Bonjour,
J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis
de performances.
Voici le bout de code qui pose problème:
string valueStr = value.ToString();
DataGridViewRowCollection rows = dataGridView1.Rows;
foreach (DataGridViewRow dataGridViewRow in rows) {
dataGridViewRow.Cells[0].Value = valueStr;
}
La première colonne est du type : DataGridViewCheckBoxCell
Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement
200 lignes dans mon composant.
Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer
la sélection ?
Si vous voulez modifier les données, utilisez le DataSource de la DataGridView. -- Paul Bacelar MVP VC++
"FX" wrote in message news:43ce0178$0$17420$
Bonjour, J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis de performances. Voici le bout de code qui pose problème: string valueStr = value.ToString(); DataGridViewRowCollection rows = dataGridView1.Rows; foreach (DataGridViewRow dataGridViewRow in rows) { dataGridViewRow.Cells[0].Value = valueStr; }
La première colonne est du type : DataGridViewCheckBoxCell Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement 200 lignes dans mon composant. Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la sélection ?
Merci par avance. Fx
Cyber Sinh
FX a écrit :
Bonjour, J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis de performances. Voici le bout de code qui pose problème: string valueStr = value.ToString(); DataGridViewRowCollection rows = dataGridView1.Rows; foreach (DataGridViewRow dataGridViewRow in rows) { dataGridViewRow.Cells[0].Value = valueStr; }
La première colonne est du type : DataGridViewCheckBoxCell Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement 200 lignes dans mon composant. Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la sélection ?
Merci par avance. Fx
Bonjour, J'ai eu un problème comparable. Après analyse dynamique du code, il semblerai que le problème vienne de la piètre performance de la notification du changement de valeur de la propriété boolean lorsqu'elle est bindée à une colonne de type DataGridViewCheckBoxCell. La seule solution que j'ai trouvé est de désactiver la notification automatique et de tout gérer à la main (par exemple, avec un ResetBindings() après une mise à jour des données pour actualiser l'affichage de la grille). Si quelqu'un a une autre idée...
Cyber Sinh
FX a écrit :
Bonjour,
J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis
de performances.
Voici le bout de code qui pose problème:
string valueStr = value.ToString();
DataGridViewRowCollection rows = dataGridView1.Rows;
foreach (DataGridViewRow dataGridViewRow in rows) {
dataGridViewRow.Cells[0].Value = valueStr;
}
La première colonne est du type : DataGridViewCheckBoxCell
Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement
200 lignes dans mon composant.
Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la
sélection ?
Merci par avance.
Fx
Bonjour,
J'ai eu un problème comparable. Après analyse dynamique du code, il
semblerai que le problème vienne de la piètre performance de la
notification du changement de valeur de la propriété boolean lorsqu'elle
est bindée à une colonne de type DataGridViewCheckBoxCell. La seule
solution que j'ai trouvé est de désactiver la notification automatique
et de tout gérer à la main (par exemple, avec un ResetBindings() après
une mise à jour des données pour actualiser l'affichage de la grille).
Si quelqu'un a une autre idée...
Bonjour, J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis de performances. Voici le bout de code qui pose problème: string valueStr = value.ToString(); DataGridViewRowCollection rows = dataGridView1.Rows; foreach (DataGridViewRow dataGridViewRow in rows) { dataGridViewRow.Cells[0].Value = valueStr; }
La première colonne est du type : DataGridViewCheckBoxCell Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement 200 lignes dans mon composant. Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la sélection ?
Merci par avance. Fx
Bonjour, J'ai eu un problème comparable. Après analyse dynamique du code, il semblerai que le problème vienne de la piètre performance de la notification du changement de valeur de la propriété boolean lorsqu'elle est bindée à une colonne de type DataGridViewCheckBoxCell. La seule solution que j'ai trouvé est de désactiver la notification automatique et de tout gérer à la main (par exemple, avec un ResetBindings() après une mise à jour des données pour actualiser l'affichage de la grille). Si quelqu'un a une autre idée...
Cyber Sinh
Rafik
Bonjour,
je pense que la solution de Paul doit pouvoir résoudre ton problème. De plus, si tu dois gérer un booléan, Cast la valeur.
Rafik
"Cyber Sinh" a écrit :
FX a écrit : > Bonjour, > J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis > de performances. > Voici le bout de code qui pose problème: > string valueStr = value.ToString(); > DataGridViewRowCollection rows = dataGridView1.Rows; > foreach (DataGridViewRow dataGridViewRow in rows) { > dataGridViewRow.Cells[0].Value = valueStr; > } > > La première colonne est du type : DataGridViewCheckBoxCell > Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement > 200 lignes dans mon composant. > Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la > sélection ? > > Merci par avance. > Fx > > Bonjour, J'ai eu un problème comparable. Après analyse dynamique du code, il semblerai que le problème vienne de la piètre performance de la notification du changement de valeur de la propriété boolean lorsqu'elle est bindée à une colonne de type DataGridViewCheckBoxCell. La seule solution que j'ai trouvé est de désactiver la notification automatique et de tout gérer à la main (par exemple, avec un ResetBindings() après une mise à jour des données pour actualiser l'affichage de la grille). Si quelqu'un a une autre idée...
Cyber Sinh
Bonjour,
je pense que la solution de Paul doit pouvoir résoudre ton problème. De
plus, si tu dois gérer un booléan, Cast la valeur.
Rafik
"Cyber Sinh" a écrit :
FX a écrit :
> Bonjour,
> J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis
> de performances.
> Voici le bout de code qui pose problème:
> string valueStr = value.ToString();
> DataGridViewRowCollection rows = dataGridView1.Rows;
> foreach (DataGridViewRow dataGridViewRow in rows) {
> dataGridViewRow.Cells[0].Value = valueStr;
> }
>
> La première colonne est du type : DataGridViewCheckBoxCell
> Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement
> 200 lignes dans mon composant.
> Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la
> sélection ?
>
> Merci par avance.
> Fx
>
>
Bonjour,
J'ai eu un problème comparable. Après analyse dynamique du code, il
semblerai que le problème vienne de la piètre performance de la
notification du changement de valeur de la propriété boolean lorsqu'elle
est bindée à une colonne de type DataGridViewCheckBoxCell. La seule
solution que j'ai trouvé est de désactiver la notification automatique
et de tout gérer à la main (par exemple, avec un ResetBindings() après
une mise à jour des données pour actualiser l'affichage de la grille).
Si quelqu'un a une autre idée...
je pense que la solution de Paul doit pouvoir résoudre ton problème. De plus, si tu dois gérer un booléan, Cast la valeur.
Rafik
"Cyber Sinh" a écrit :
FX a écrit : > Bonjour, > J'utilise un composant DataGridView (CLR2) et je rencontre quelques soucis > de performances. > Voici le bout de code qui pose problème: > string valueStr = value.ToString(); > DataGridViewRowCollection rows = dataGridView1.Rows; > foreach (DataGridViewRow dataGridViewRow in rows) { > dataGridViewRow.Cells[0].Value = valueStr; > } > > La première colonne est du type : DataGridViewCheckBoxCell > Résulat: Plus de 15 sec pour éxécuter cette partie de code avec seulement > 200 lignes dans mon composant. > Quelqu'un a-t-il une idée d'où pourrait provenir le problème ou améliorer la > sélection ? > > Merci par avance. > Fx > > Bonjour, J'ai eu un problème comparable. Après analyse dynamique du code, il semblerai que le problème vienne de la piètre performance de la notification du changement de valeur de la propriété boolean lorsqu'elle est bindée à une colonne de type DataGridViewCheckBoxCell. La seule solution que j'ai trouvé est de désactiver la notification automatique et de tout gérer à la main (par exemple, avec un ResetBindings() après une mise à jour des données pour actualiser l'affichage de la grille). Si quelqu'un a une autre idée...