Gandalf5798
Messages postés20Date d'inscriptionmercredi 5 mars 2003StatutMembreDernière intervention26 juillet 2010
-
16 juin 2010 à 08:58
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDerniè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?
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 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.
Gandalf5798
Messages postés20Date d'inscriptionmercredi 5 mars 2003StatutMembreDernière intervention26 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).
Gandalf5798
Messages postés20Date d'inscriptionmercredi 5 mars 2003StatutMembreDernière intervention26 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