Datagridview et pertes de données

Gandalf5798 Messages postés 20 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 26 juillet 2010 - 16 juin 2010 à 08:58
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 16 juin 2010 à 09:46
Bonjour,

J'utilise des datagridview pour un projet.

Certaines colonnes sont issues de la base de données (propriété "DataPropertyName"), et d'autres sont issues de calculs à partir des données de la base, ainsi qu'un ComboBox d'action.

Le problème est lors du rafraichissement du tableau (après un rafraichissement de la fenêtre, ou le tri du tableau) je perds toutes mes valeurs qui ne sont pas liées à la base de données (entre autres, le ComboBox se vide).

Y-a-t-il une solution pour ne pas effacer les valeurs du tableau à chaque fois?

Merci

6 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
16 juin 2010 à 09:16
Bonjour,

Comment calcule-tu ces valeur dynamique ? Via ta requête SELECT ou dans ton code behind ? Peux-tu poster le morceau de code qui effectue le remplissage du DataGridView ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Gandalf5798 Messages postés 20 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 26 juillet 2010
16 juin 2010 à 09:25
Les colonnes des valeurs dynamiques sont ajoutées manuellement par un columns.add

Puis pour ajouter les valeurs dynamique dans les lignes, je boucle chaque ligne du contrôle et j'utilise la propriété .item(colonne,ligne).value (donc ajout manuel des valeurs).

Merci
0
Gandalf5798 Messages postés 20 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 26 juillet 2010
16 juin 2010 à 09:27
Par exemple, j'ai un combobox qui n'a rien à voir avec la base de données et qui permet d'effectuer des actions. (du genre effacer la ligne, etc). Les valeurs de de combobox sont donc les mêmes pour toutes les lignes.

Le code d'ajout est du type

For Each ligne As DataGridViewRow In dg.Rows
DirectCast(ligne.Cells(col), DataGridViewComboBoxCell).Items.Add(combo_valeur)
DirectCast(ligne.Cells(col), DataGridViewComboBoxCell).Tag = combo_action
Next
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
16 juin 2010 à 09:28
Ok, et dans quel événement places-tu ce code ?




Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gandalf5798 Messages postés 20 Date d'inscription mercredi 5 mars 2003 Statut Membre Dernière intervention 26 juillet 2010
16 juin 2010 à 09:31
Le code est placé dans une méthode qui est appelée juste après avoir chargé et affiché la form contenant le tableau.

Merci
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
16 juin 2010 à 09:46
Peux-tu poster le code en question ? Et me dire de quel événement il s'agit ainsi qu'à quel type de contrôle est lié cette événement.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous