Datagrid et colonnes sous VB.NET

cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008 - 12 sept. 2005 à 23:08
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008 - 13 sept. 2005 à 14:51
Bonjour,
J'aimerais savoir tout d'abord s'il est possible de cacher des colonnes d'un datagrid et ensuite, s'il est possible de les organiser dans un ordre voulu?

Car actuellement, j'ai un datagrid avec une colonne que j'aimerais cacher et j'aimerais remettre dans l'ordre les colonnes comme je le souhaiterais, ainsi que renommer les entêtes de celles-ci.

Merci pour l'aide que vous m'apporterez.

12 réponses

cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
13 sept. 2005 à 10:55
Salut,



Pour organiser l'affichage dans un DataGrid, modifie la source de
données. Je suppose que tu utilise un DataTable ou plus générelement un
DataSet. Pour faire comme tu veux, utilise un DataView.



Chris

N'oubliez pas de cloturer votre post.
0
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008
13 sept. 2005 à 13:31
Merci pour cette réponse. Par contre une question me vient à l'esprit : est-ce qu'avec un Dataview on peut ajouter des nouvelles entrées?

Botanique
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
13 sept. 2005 à 13:43
Indirectement oui. C'est moins trivial qu'avec un DataTable (quoi que...).

Pour y arriver, il suffit d'ajouter l'enregistrement dans le DataTable "source" du DataView.



Chris

N'oubliez pas de cloturer votre post.
0
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008
13 sept. 2005 à 13:49
Donc si je résume bien, l'ajout ne peut se faire comme pour les datagrid, cad directement à la fin de la liste?

Botanique
0

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

Posez votre question
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
13 sept. 2005 à 13:55
Faut voir si c'est du Web ou du Win et les événements du DataGrid Windows.

Je jette un coup d'oeil pendant 10-15 min.

Personnelement, j'aime pas trop l'insertion direct dans le DataGrid, pour moi c'est un controle d'affichage pas de saisie.

Mais bon, je suppose impératif projet oblige...



Chris

N'oubliez pas de cloturer votre post.
0
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008
13 sept. 2005 à 14:00
Oui, en fait je souhaiterais, dans un windows Form faire de l'entrée de donnée avec des textBox pour la table principal et des datagrid ou dataview pour les tables connexes (pour saisir plusieurs entrées des tables connexes qui correspondent à un seul dossier de la table principale). Un peu comme sous Access avec les sous formulaires en colonnes (pour les relation 1-plusieurs)

Merci pour ton aide
Botanique
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
13 sept. 2005 à 14:03
Bon, fini mes conneries.

En fait, ça marche direct, pas besoin de se faire....

J'ai fait un essai avec une WinForm, un DataGird, 2 boutons et ce code :



Private dt As DataTable



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

dt = New DataTable("EssaiDV")

dt.Columns.Add("ID", GetType(Integer))

dt.Columns.Add("Desc", GetType(String))

DataGrid1.DataSource = dt.DefaultView

End Sub



Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

MessageBox.Show(dt.Rows.Count)

End Sub


Tu verras que le DataTable contient les infos...



Chris


N'oubliez pas de cloturer votre post.
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
13 sept. 2005 à 14:04
Par contre, côté dépendance, je sais pas comment ça se passe. Faut faire un essai...



Chris

N'oubliez pas de cloturer votre post.
0
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008
13 sept. 2005 à 14:12
ok, je vais faire un essai, merci pour toute ton aide. Dès que l'essai est fait, je te tiendrai au courant.

Encore une fois, merci.
0
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008
13 sept. 2005 à 14:34
Ok, pas de pb avec les dépedances. il suffit d'écrire :
Datagrid1.Datasource =DataSet1
Datagrid1.DataMember = "nom de la relation"

Mais pour la mise en forme du datagrid, rien de possible, comment alors utiliser Dataview?

Botanique
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
13 sept. 2005 à 14:44
Pas simple à expliquer ton truc.

Dans ton cas précis, je vois pas de solution simple (ultra rapide à
mettre en oeuvre par contre à réserver à un public averti), c'est
mettre dans le DataGrid la table principale.... Ce qui donnerait un
code du genre :

Datagrid1.Datasource =DataSet1

Datagrid1.DataMember = "MaTableMaitre"



Les relations sont ensuite affichées.


Pour une appli destinée à un utilisateur "bureatique simple, sans
connaisance de ce qu'il fait", je ferais une interface pour le tenir
par la main.



Sinon, y a peut être moyen d'arriver à faire quelque chose avec le DataGridTableStyle... Mais c'est plus compliqué.



Chris


N'oubliez pas de cloturer votre post.
0
cs_Botanique Messages postés 113 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 6 mars 2008
13 sept. 2005 à 14:51
ok, je vais chercher une autre façon de présenter mon WinForm. Merci pour ton aide précieuse.

Amicalement

Botanique
0
Rejoignez-nous