2010-01-14 4 views
0

J'ai une case à cocher-Liste que je lie à une table de données maître (DTA) ... J'ai une autre table de données (DTB) dont les valeurs doivent être vérifiées check-box-List ... Je passe donc en revue tous les éléments de la liste de cases à cocher pour voir si elle existe dans le DTB et définir check = true pour les éléments qui existent.Trier la liste de cases à cocher en fonction de la propriété cochée

Maintenant, je veux montrer les éléments cochés d'abord dans la case à cocher-case à cocher et les éléments non cochés ci-dessous.

Y a-t-il un moyen de le faire ... Une solution similaire pour List-Box pourrait aussi être utile. Un indice Javascript est également le bienvenu.

Merci - Raja

Répondre

1

si vous voulez trier la case liste du côté du serveur, vous pouvez d'abord ajouter les éléments de DTB à la case liste et définir leur valeur sélectionnée vraie , puis ajoutez les autres formes DTA et pour chaque élément dans DTA assurez-vous que ce n'est pas déjà dans la liste des éléments.
Lors de l'insertion des deux listes, assurez-vous qu'elles sont triées en fonction d'un critère de tri secondaire si vous en avez besoin.

Si vous n'avez pas besoin du tri sur le serveur, vous pouvez utiliser jquery assez facilement.
vous devez obtenir le check_box_list_client_id à partir du serveur, vous pouvez le faire en utilisant
$('#<%= CheckBoxList1.ClientID %>') jquery selector.


    $(function() { 
     // get the containing element - should be an HTML table 
     var cbl = $('#check_box_list_client_id'); 
     // check if the jquery element has any items in it 
     if (cbl.length) { 
      // get all the table rows, and filter out all those which 
      // doesn't contain a checked checkbox 
      var cbElements = cbl.find('TR').filter(function(index, element) { 
       return $(this).find('input:checked').length; 
      }); 
      // take each table row containing a checked checkbox and place it 
      // at the top of your check-box-list element we called cbl 
      cbElements.each(function() { 
       $(this).prependTo(cbl); 
      }); 
     } 
    }); 

c'est tout, j'espère que vous avez trouvé ce dont vous aviez besoin.

Questions connexes