2009-07-15 8 views
1

Voici le scénario que j'essaie d'atteindre. J'ai un contrôle DataGrid sur mon formulaire. J'utilise XCeed Data Grid for .Net comme contrôle de mon choix. Je conduis le DataGrid via un DataTable comme DataSource. La grille me permet de trier les données par colonne ce qui est très cool. Ces mêmes données sont également tracées sur un contrôle Chart. De cette façon, vous pouvez voir les données sous la forme d'un tableau ET d'un graphique. Ce que je veux savoir, c'est pouvoir trier les données dans la grille en cliquant sur une colonne, puis voir les nouvelles données triées mises à jour sur le graphique. De manière générale, comment allez-vous faire quelque chose comme ça? Comment saisissez-vous les données triées retour à partir d'un gridview contorl? Des points supplémentaires pour me dire comment c'est fait avec le contrôle XCeed Grid :)Comment récupérer les données triées à partir d'un gridview DataBound?

Merci!

Répondre

0

procédez comme suit sur l'événement de tri pour le réseau .. ou chaque fois que

 //get data w/ sort expression 
     DataTable dt = (DataTable)gridview1.DataSource; 

     //bind sorted data to another control 
     chartcontrol.datasource = dt.DefaultView.ToTable(); 
     chartcontrol.databind(); 

     //add sorted ids to session to get crazy with 
     if (dt != null) 
     { 
      StringBuilder sb = new StringBuilder(); 
      for (int i = 0; i < dt.Rows.Count; i++) 
      { 
       sb.Append(dt.DefaultView[i]["ID"].ToString() + ","); 
      } 
      if (sb.Length > 0) 
       sb.Remove(sb.Length - 1, 1); 

      Session["SortedIDs"] = sb.ToString(); 
     } 
Questions connexes