begin process at 2008 07 21 01:13:59
1 213 538 membres
7 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Tri sur un datagridview [ Windows / Formulaire / Winforms / Controls ] (rangdalf)

Tri sur un datagridview le 08/12/2006 10:35:25

rangdalf
Bonjour,

Je développe une application winforms en C# 2.0
J'ai un datagridview lié à un datatable rempli de données.
J'ai une fonction qui rajoute une colonne image (DataGridViewImageColumn) à mon datagridview et qui ajoute une image (flèche haut, bas et égale).

Tout va bien tout s'affiche!
Le problème est lorsque je veux trier une colonne (n'importe laquelle) mon image (et plus généralement toutes mes colonnes ajoutées et remplies par code) se vident. La colonne image affiche une croix rouge et toutes les autres colonnes sont vides.

Peut être est ce du au fait que le tri d'un datagridview se fait au niveau du datasource? et non pas sur les données directement?

Dans ce cas existe t il une source de données que l'on peut gérer et qui permet l'ajout de colonne (de type image ou autre)?

Je suppose qu'il y a un moyen pour permettre le tri et la persistance des données mais je ne le connais pas.

Merci pour vos réponses!


Re : Tri sur un datagridview le 09/12/2006 13:58:23
Re : Tri sur un datagridview le 09/01/2007 16:50:54

shitboypark
Bonjour,

Vous avez trouvé une solution à votre problème ?

J'ai exactement le même.. (les colonnes qui se vident lors du tri..)

Qu'avez-vous fait pour remédier à ce problème ?

D'avance merci.


adri-x-_-en_cours_de_reprogrammation-_-

Re : Tri sur un datagridview le 09/01/2007 17:03:24

rangdalf
Salut,

Oui j'ai enfin trouvé comment résoudre mon problème!
C'était du au fait que j'utilisais 2 sources de données différentes.
Pour résoudre le probleme il suffit de binder tes sources de données dans un datagridview dont tu auras défini les colonnes:
Ex:
dataGridView1.Columns.AddRange(
                                new DataGridViewImageColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn(),
                                new DataGridViewTextBoxColumn()
                                );

                    dataGridView1.Columns[0].Name = "MaColonneImage";
                    dataGridView1.Columns[0].SortMode = DataGridViewColumnSortMode.Automatic;
                    dataGridView1.Columns[1].Name = "Nom";
                    dataGridView1.Columns[2].Name = "Prénom";
                .... faire de meme pour toutes tes colones

Ensuite tu dois ecrire ligne par ligne dans ton datagridview.
dataGridView1.Rows.Add(...) les infos à mettre dans ton datagridview

Bon courage!
C'est long!

Re : Tri sur un datagridview le 10/01/2007 17:52:01

shitboypark
Bonjour!
Merci de ta réponse rapide,
mais la solution ne convient pas.
Ma datagridview est alimentée par un seul datasource (pas comme toi.)
La iList renvoyée par l'objet connecté au datasource utilise une instance CollectionView de CollectionClasses.

Le tri sur les colonnes se passe bien, mais j'ai remarqué que lorsqu'une cellule est vide dans une ligne et qu'on trie en cliquant sur le header de la colonne, on perd une partie des données de la dernière ligne. A chaque nouveau tri, on perd d'autres données d'autres ligne...

Si quelqu'un a eu le même problème...

%Merci ;)


adri-x-_-en_cours_de_reprogrammation-_-


Classé sous : données, image, tri, colonne, datagridview

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS