austinlolo
Messages postés5Date d'inscriptionjeudi 7 avril 2005StatutMembreDernière intervention19 juin 2009
-
25 juil. 2005 à 18:02
zenate_cs
Messages postés5Date d'inscriptionlundi 25 juillet 2005StatutMembreDernière intervention26 juillet 2005
-
26 juil. 2005 à 11:28
Bonjour,
j'ai une datagridview avec disons 3 colonnes "Nom", "Prénom" ,"Civilité"
lorsque je clique sur une colonne, elle se trie automatiquement...normal
j'aimerai pouvoir lorsque je clique sur "Civilité" par exemple, pouvoir trier ma datagrid sur Civilite+Nom+Prénom
Quelqu'un aurait une idée?
Merci
PS En C# s'iou plait, sinon, pas grave je m'adaptereai
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 26 juil. 2005 à 10:01
Tu es sur un forum c#, on va pas te répondre en vb.
alors, je ne pense pas qu'il y ai de solution toute faite comme ca.
Alors, il doit y avoir un événement sur la datagrid lorsque l'utilisateur clique sur l'entete de colonne , je connais pas le nom.
Si tu as trois colonnes et que tu les connais, tu peux faire un truc du style :
1. tu lies ta datagrid à une vue sur ta table (dataview)
2. Lors de l'interception du clic sur l'entete ( ou de la propriété sort, je sais pas), tu configure la proopriété sort de ta vue. Cela aura normalement l'effet escompté
bon, je te donne un bout de code qui fait tout ca sur l'événement mouseDown, tu verifiera la case parce que moi pas doué en ponstuation
//evenement mouse down
public void dtg_MouseDown( sender e, mouveEventArgs e)
{
Point pt = new Point(e.X,e.Y);
DataGrid.HitTestInfo hti = dtg.HitTest(pt);
swtich (hti.Column)
{
case 0 :
maVue.Sort =" Civi ASC, Nom ASC,Prenom ASC";
//tri sur la premeire colonne
break;
.......
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 26 juil. 2005 à 10:30
moi pas comprendre ce que toi me raconter.
non, sérieusement , ba heu, moi pas trop bien connaitre datagridview.
Pour moi le schéma c'est, une dataTable que tu remplis. ( cette datatable est éventuellement dans un dataset)
après , si tu veux mettre en place ce que je te disais, tu crées un vue sur cette datatable
Dataview mavue = new Dataview ( madatatable, ""," Civi ASC",dataviewrawstate.currentrows);
et tu lie à ta datagrid :
madatagrid.Datasource = mavue;
voili voilou, apres, je sais pas ce que tu utilises, mais c'est tout ce que je peux te raconter
taoetc
Messages postés346Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention 3 septembre 20073 26 juil. 2005 à 11:14
vi, vi, vs permet de faire pleinde truc automatique sans écrire une ligne de code, c'est bien pratique
enfin, on va relativiser tout ca quand meme. Ca c'est bien valable pour un petit projet, apres , sur un gros projet, il faut un peu plus de structuration, et tout mettre sur la form, pour moi, c'est merdique, donc , merci microsoft, tous ces beaux gadgets font des belles démos, mais pas forcémenet des beaux projets, bien débugables. Mais bon, c'est vrai qu'un proejt d'interrogation de bdd sans réellement regle de controle de données est réalisé tres tres rapidement grace à ca.
malgrè ca, j'aim bien vs.net hein, on va pas cracher dans la soupe.
zenate_cs
Messages postés5Date d'inscriptionlundi 25 juillet 2005StatutMembreDernière intervention26 juillet 2005 26 juil. 2005 à 11:28
je suis d'accord avec toi et c'est bien pour ça que je suis en train de faire une librairy pour parametrer une application developpée comme ci dessus.
ex : pour le controle des intégrité, traitement automatique par rapport aux PK et FK et UK du dataset.
d'autres possibilté comme la gestion du multi-lignes(presque fini), le lien "maitre_detail", les "look_up", les "LOV", (dsl je viens du monde ORACLE) seront developpés.