Groupby ou DISTINCT dans object ADO

MOOKIES Messages postés 35 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 2 octobre 2008 - 6 avril 2007 à 18:13
MOOKIES Messages postés 35 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 2 octobre 2008 - 21 mai 2007 à 16:33
Bonjour,
je voudrais savoir si quelqu un sait si il existe une methode qui sur un DataSet ou DataTable il y a une methode pour faire l equivalent d un "group by" ou "Disctinct".

J ai une page qui contient plusieurs datagrids
Pour eviter les aller retour entre le serveur web et  sql server, je charge toute les donnees d un coup dans un seul et unique DataSet appelons le Ds_Global , j effectue les conditions Where ans probleme grace aux DataView et sa propriete RowFilter

Le truc c'est que pour un datagrid ex datagrid_project,  je recupere dans  un DataView ou DataTable appelons Dt_Project  donc juste les 3 collonnes du dataset Ds_Global  necessaire (date, projectID, projectName) 
 
Sauf que j aimerais trouver un moyen pour inserer dans ces collonnes uniquement les combinaisons date, projectId et ProjectName unique.

Existe t il donc une methode de remplir un oblect ADO avec un euquivalent de "select DISTINCT date, projectID, projectName FROM Ds_Global " Ou encore  "Select date, projectID, projectName FROM Ds_Global Group by  date, projectID, projectName "

Ou je dois le faire manuellement (suprimer les lignes une par une des qu une autres existe), ou tout simplement est ce qu'on peut faire une requete SQL sur un object ADO

MERCI Beaucoup,

CODES SOURCES C'EST LES MEILLEURS

Il y a 10 types de personnes ceux qui connaisse le binaire et les autres
MOOKIES

5 réponses

zangoabdoulaye Messages postés 4 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 19 mai 2007
18 mai 2007 à 18:12
salut les gars
Je suis un debutant en VB.net
je tente cette declaration qui me signal des erreures
dim colnumber as new Boundcolumn  j'ai precisé  la bibliotheque approprié mais ca ne marche pas Si quelqu'un a déjà  rencontré ce problème qu'il me file un coup de main
Merci avance
0
MOOKIES Messages postés 35 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 2 octobre 2008
18 mai 2007 à 20:13
Salut Zango,


tout dabort je te conseil de relire le titre du post et du reglement de Codes Sources car ta question n as aucun rapport avec mon post dont d ailleurs a priori na pas de solution direct..(Je me reponds a moi meme si quelqu un le cherche cela ne peut se faire a priori que manuellement mais c pas trop gourmant en ressources)

Sinon vu que si les programmeurs sont roi, l entreaide est leur devoir, je vais essayer de repondre a ta question:

Que essaye tu de faire : creer Dynamiquement un collumn ?
                                    Ou acceder a des valeurs du collumn par exemple sur l event RowDatabound, ensuite peut tu preciser si tu travaille avec un datagrid (.net 1.1) ou un GridView (.net 2.0)

Des que tu reponds a sa je te reponds

a tte



MOOKIES
0
zangoabdoulaye Messages postés 4 Date d'inscription jeudi 14 septembre 2006 Statut Membre Dernière intervention 19 mai 2007
19 mai 2007 à 14:03
Salut
Merci pour ta comprehension.
Je suis entrain de réaliser une application pour le gestion des notes des etudiants d'une institue.Actuellement  je veux  juste redimensionner les colonnes de mon datagrid et  en suite ajouter une colonne manuellement. Je  t'explique le problème  pour que  ca te soit plus claire. En faite j'ai un mon datagrid qui m'affiche la liste des etudiants nom prenom et je voudrai en plus de cela ajouter une colonne "note"  manuellement de tel sorte que l'on puissent  saisir la note corresponadante a chaque etudiant .
Merci d'avance
A tout à coup
0
MOOKIES Messages postés 35 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 2 octobre 2008
21 mai 2007 à 16:33
Salut 859398 zangoabdoulaye
pour faire cela dans un datagrid le plus simple serais que tu gere cela avec la visibiliter ou le contenue d une collumn (et non pas de l ajouter dynamiquement) cela a 2 avantage, la 1ere et de pouvoir jouer sur ka visibiliter en Javascript en a chaque fois passer par le server, mais aussi du coter server c plus performant de metttre une collumn qui contient un textbox vide et de la rendre visible que de creer un collumn dynamiquement.

Une Boundcollumn est une collonne directement lier o donnees. Je pesnee qu ici une <columns> <columns> <?xml:namespace prefix = asp /??>
<columns><columns><columns><

columns>   <

asp:templateColumn>      <

itemTemplate>
       (probablement multiligne ="true" aussi)

      </

itemTemplate>
   </asp:templateColumn>

Ensuite tu as different moyen tu peut mettre un bouton qui affiche sur le client side la visisibiliter de la txtbox, pour cela met un bouton, et sur l event Databound du grid que tu peut declarer facilement dans la page aspx (si tu as bien declarer ton datagrid dans le codebehind)

<asp:dataGrid runat="server" id="MonDatagrid" onItemDataBound="MonDatagrid_onItemDataBound"

(Je suis desoler je me souviens plus bien des syntaxe Vb, je te le met en C# en cherchsaant un peut tu devrais retrouver sa revient a faire pareil; sauf les declaration sont differentes
public

void ReturnGridInclude_onItemDataBound( object sender, DataGridItemEventArgs e )
{
/*Si on est pas dans le header ou le pager...bref si on est dans les lignes de donees*/
if( e.Item.ItemType ListItemType.Item || e.Item.ItemType ListItemType.AlternatingItem )
{
/*Trouve le boutton et la textbox dans le grid tu peut faire ce qui te chante ici, moi la je crrer juste un event cleitn sur le bouton quit e permet en Javascript d afficher la textbox en passant en paramettre le clientID (id unique que tu peut voir en voyant la source client) */
Button

Dans_cette_row_bouton_affichant_la_textbox = (Button) e..Item.FindControl("bouton_affichant_la_textbox ") ;

Textbox Dans_cette_row_txt_note = (Textbox ) e..Item.FindControl("txt_note") ;

Dans_cette_row_bouton_affichant_la_textbox..Attributes.Add("onclick","return showHide('"+  Dans_cette_row_txt_note.ClientID +");

}

/*--fin partie codebehind*/

dans ta page aspx
rajoute
<script type="javascript" >
function showH(ClientID)
{
document.getElelementById(ClientID).style.display ='inline' /*si tu veut cacher remplace inline par 'none')
}

</script>

Sa devrait deja t aider et sinon il y a pas de secret ASPFR.com ET MSDN.com
(Si tu as des soucis je regarderais de nouveaux ASPFR se soir)

MOOKIES
Il y a 10 types de personnes ceux qui connaisse le binaire et les autres</columns></columns></columns></columns></columns>
0

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

Posez votre question
MOOKIES Messages postés 35 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 2 octobre 2008
21 mai 2007 à 16:33
Salut 859398 zangoabdoulaye
pour faire cela dans un datagrid le plus simple serais que tu gere cela avec la visibiliter ou le contenue d une collumn (et non pas de l ajouter dynamiquement) cela a 2 avantage, la 1ere et de pouvoir jouer sur ka visibiliter en Javascript en a chaque fois passer par le server, mais aussi du coter server c plus performant de metttre une collumn qui contient un textbox vide et de la rendre visible que de creer un collumn dynamiquement.

Une Boundcollumn est une collonne directement lier o donnees. Je pesnee qu ici une <columns> <columns> <?xml:namespace prefix = asp /??>
<columns><columns><columns><

columns>   <

asp:templateColumn>      <

itemTemplate>
       (probablement multiligne ="true" aussi)

      </

itemTemplate>
   </asp:templateColumn>

Ensuite tu as different moyen tu peut mettre un bouton qui affiche sur le client side la visisibiliter de la txtbox, pour cela met un bouton, et sur l event Databound du grid que tu peut declarer facilement dans la page aspx (si tu as bien declarer ton datagrid dans le codebehind)

<asp:dataGrid runat="server" id="MonDatagrid" onItemDataBound="MonDatagrid_onItemDataBound"

(Je suis desoler je me souviens plus bien des syntaxe Vb, je te le met en C# en cherchsaant un peut tu devrais retrouver sa revient a faire pareil; sauf les declaration sont differentes
public

void ReturnGridInclude_onItemDataBound( object sender, DataGridItemEventArgs e )
{
/*Si on est pas dans le header ou le pager...bref si on est dans les lignes de donees*/
if( e.Item.ItemType ListItemType.Item || e.Item.ItemType ListItemType.AlternatingItem )
{
/*Trouve le boutton et la textbox dans le grid tu peut faire ce qui te chante ici, moi la je crrer juste un event cleitn sur le bouton quit e permet en Javascript d afficher la textbox en passant en paramettre le clientID (id unique que tu peut voir en voyant la source client) */
Button

Dans_cette_row_bouton_affichant_la_textbox = (Button) e..Item.FindControl("bouton_affichant_la_textbox ") ;

Textbox Dans_cette_row_txt_note = (Textbox ) e..Item.FindControl("txt_note") ;

Dans_cette_row_bouton_affichant_la_textbox..Attributes.Add("onclick","return showHide('"+  Dans_cette_row_txt_note.ClientID +");

}

/*--fin partie codebehind*/

dans ta page aspx
rajoute
<script type="javascript" >
function showH(ClientID)
{
document.getElelementById(ClientID).style.display ='inline' /*si tu veut cacher remplace inline par 'none')
}

</script>

Sa devrait deja t aider et sinon il y a pas de secret ASPFR.com ET MSDN.com
(Si tu as des soucis je regarderais de nouveaux ASPFR se soir)

MOOKIES
Il y a 10 types de personnes ceux qui connaisse le binaire et les autres</columns></columns></columns></columns></columns>
0
Rejoignez-nous