2010-12-09 5 views
0

Comment compter le nombre total. des cases à cocher asp.net, cases cochées, non. des cases à cocher ne sont pas cochées dans webform en utilisant vb.net?Comment compter le nombre total des cases à cocher asp.net, cases cochées, non. des cases à cocher ne sont pas cochées dans webform en utilisant vb.net?

Je suis en utilisant Visual Studio 2008 avec vb comme langue ..

Je mon formulaire web j'ai 10 ... cases

je veux pas le nombre total de. des cases à cocher dans webform dans textboxes1 total no. des cases cochées dans webform dans textbox2 total no. des cases à cocher ne sont pas cochées dans webform dans textbox3

Répondre

0
Dim intTotalCheckBoxes as Integer = 0 
Dim intCheckBoxesChecked as Integer = 0 
Dim intCheckBoxesUnChecked as Integer = 0 

For Each chkbox as Checkbox in Page.Controls 

If chkbox.Checked Then 

    intCheckBoxesChecked += 1 

Else 

    intCheckBoxesUnChecked += 1 

End If 

intTotalCheckBoxes += 1 

Next 

Si vous avez des contrôles sur votre page contenant des cases à cocher et qui ont besoin de savoir comment inclure récursive ceux qui sont trop, s'il vous plaît ajouter un commentaire et je vais modifier le code. Sinon, cela devrait faire l'affaire.

1

Voici un exemple de code C#, vous pouvez facilement développer du code VB à partir de celui-ci.

private int mTotal; 
private int mChecked; 

private void EnumerateCheckBoxes(Control control) 
{ 
    if (control is CheckBox) 
    { 
    mTotal++; 
    mChecked += ((CheckBox)control).Checked ? 1 : 0; 
    } 
    else if (control.HasControls()) 
    { 
    foreach(var c in control.Controls) 
    { 
     EnumerateCheckBoxes(c); 
    } 
    } 
} 

protected void Page_Load(Object sender, EventArgs e) 
{ 
    mTotal = 0; 
    mChecked = 0; 
    EnumerateCheckBoxes(this.Form); 
    textbox1.Text = mTotal.ToString(); 
    textbox2.Text = mChecked.ToString(); 
    textbox3.Text = (mTotal - mChecked).ToString(); 
} 

Peu de choses à considérer:

  1. Ce code comptera des boutons radio ainsi que parce qu'il se hérité de CheckBox. Si cela doit être évité, remplacez if (control is CheckBox) par if (control.GetType() == typeof(CheckBox))
  2. Si vous souhaitez examiner les cases à cocher de CheckBoxList, vous devez écrire une autre condition pour voir si le contrôle est CheckBoxList, puis dans les conditions, énumérer les éléments avec checkboxlist. Les éléments comptent pour être ajoutés au nombre total tandis que les éléments sélectionnés doivent être ajoutés au nombre vérifié.
+0

Battez-moi. Je me suis essayé à une vraie réponse VB et j'ai été bloqué par la langue. J'ai également été distrait en essayant de sélectionner tous les contrôles CheckBox en utilisant LINQ. :-) – ProfK

Questions connexes