2010-12-09 3 views
0

Как подсчитать общее количество нет. флажков asp.net, отмечены флажки, нет. флажков по-прежнему не отмечены в webform с помощью vb.net?Как подсчитать общее количество. флажков asp.net, отмечены флажки, нет. флажков по-прежнему не отмечены в webform с помощью vb.net?

Я использую Visual Studio 2008 с VB как язык ..

Я мой Webform у меня есть 10 флажков ...

я хочу подсчет общего числа нет. флажков в webform в текстовых боксах1 всего нет. флажков, проверенных в webform в текстовом поле2 всего нет. флажков не отмечены в webform в текстовом поле3

ответ

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 

Если у вас есть элементы управления на странице, которые содержат флажки и нужно знать, как рекурсивно включать их тоже, пожалуйста, добавить комментарий, и я буду править код. В противном случае это должно сделать трюк.

1

Вот пример кода на C#, вы можете легко разработать код VB из него.

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(); 
} 

Несколько вещей, чтобы рассмотреть следующие вопросы:

  1. Этот код будет считать радиокнопки, а также потому, что он получает в наследство от CheckBox. Если этого избежать, замените if (control is CheckBox) на if (control.GetType() == typeof(CheckBox))
  2. Если вы хотите рассмотреть флажки из CheckBoxList, тогда вам нужно написать еще одно условие, чтобы проверить, является ли элемент управления CheckBoxList, а затем в рамках условия, перечислять элементы, содержащие checkboxlist. Элементы подсчитываются для общего подсчета, пока выбранные элементы будут добавлены к проверенному счету.
+0

Ударьте меня. Я попробовал свою руку на фактическом ответе VB и получил путь от языка. Я также отвлекся, пытаясь выбрать все элементы управления CheckBox с помощью LINQ. :-) – ProfK 2010-12-09 04:55:59