2011-10-17 3 views
2

J'ai une petite application avec deux tableaux. Un tableau est les noms, un tableau est les scores. J'ai le code ci-dessous dans un "tri" bouton. Il y a aussi 6 boutons radio qui trient de différentes manières. 5 de ces boutons fonctionnent, mais je n'arrive pas à obtenir le tri par "Nom de la région" fonctionnant. Parfois, lorsque j'entre deux lignes dans les tableaux, cela fonctionne, parfois non. J'ai essayé de comprendre cela pendant près d'une heure, mais je n'arrive pas à comprendre pourquoi cela ne fonctionnera pas. Des idées là-bas?Tri par nom (alphabétique)

private void btnSort_Click(object sender, EventArgs e) 
     { 
      int n; 
      decimal temp; 
      int sortCol = 0; 
      string ntemp; 
      bool swapFlag; 


      if (rb1.Checked) 
       sortCol = 0; 

      if (rb2.Checked) 
       sortCol = 1; 

      if (rb3.Checked) 
       sortCol = 2; 

      if (rb4.Checked) 
       sortCol = 3; 

      if (rbTotal.Checked) 
       sortCol = 4; 

      do 
      { 
       swapFlag = false; 
       for (n = 0; n < lastIndexUsed; n++) 
       { 
        if(quarters[n,sortCol] < quarters[n+1, sortCol]) 
         { 

         //column 4 
          temp = quarters[n, 4]; 
          quarters[n, 4] = quarters[n + 1, 4]; 
          quarters[n+1, 4] = temp; 

         //col 3 
          temp = quarters[n, 3]; 
          quarters[n, 3] = quarters[n + 1, 3]; 
          quarters[n + 1, 3] = temp; 

         //col 2 

          temp = quarters[n, 2]; 
          quarters[n, 2] = quarters[n + 1, 2]; 
          quarters[n + 1, 2] = temp; 

         // col 1 
          temp = quarters[n, 1]; 
          quarters[n, 1] = quarters[n + 1, 1]; 
          quarters[n + 1, 1] = temp; 

         //col 0 
          temp = quarters[n, 0]; 
          quarters[n, 0] = quarters[n + 1, 0]; 
          quarters[n + 1, 0] = temp; 

         //name 

          ntemp = Branch[n]; 
          Branch[n] = Branch[n + 1]; 
          Branch[n + 1] = ntemp; 

          swapFlag = true; 

         }//endif 

       }//for end 

      } while (swapFlag); 
+0

Le bouton radio "Nom de région" est rbRegion. – Brandon

Répondre

1

Un coup dans l'obscurité: Vous dites que vous avez six boutons radio, mais vous vérifiez que cinq et l'attribution de la colonne de tri par cela. Si cinq de vos sorts fonctionnent et que ce n'est pas le cas, c'est peut-être le bouton que vous avez omis?

Il est difficile de dire si c'est vraiment le problème. Les noms de ces champs sont très flous - dans votre esprit est-il "bouton radio 6" ou "le bouton pour trier par nom de région"? Nommez quelque chose pour ce que signifie.

+0

Rb1, rb2, etc se réfère simplement au trimestre 1, trimestre 2, etc. rbtotal est tous les trimestres ajoutés ensemble. rbRegion est le nom de la région. Comme vous l'avez dit, je pense aussi avoir oublié quelque chose, mais je n'arrive toujours pas à le comprendre. – Brandon

+0

@Brandon vous ne faites référence à 'rbRegion' nulle part dans le code que vous avez publié. Vous ne voyez pas s'il a été sélectionné. –