2012-05-05 18 views
7
CheckBoxList

i tiene un control CheckBoxListartículos seleccionados cómo contar en asp:

<asp:CheckBoxList ID="chkselectedItems" Font-Size="12px" runat="server"> 
</asp:CheckBoxList> 

y yo creamos en él ListItems dynamically.If he comprobado más de un elemento de la lista casilla, cómo consigo el seleccionado recuento de elementos utilizando asp.net

gracias

+0

posible duplicado http: //stackoverflow.com/questions/3770874/how-to-return-selected-items-from-checkboxlist-control-in-asp-net, http://stackoverflow.com/questions/395454/how-to-loop- thru-a-checkboxlist-and-to-find-whats-checked-and-not-checked –

Respuesta

6

Editar

int numSelected = 0; 
foreach (ListItem li in chkselectedItems.Items) 
{ 
if (li.Selected) 
{ 
numSelected = numSelected + 1; 
} 
} 
Response.Write("Total Number Of CheckBoxes Selected:"); 
Response.Write(numSelected); 

pre

public string[] CheckboxListSelections(System.Web.UI.WebControls.CheckBoxList list) 
{ 
ArrayList values = new ArrayList(); 
for(int counter = 0; counter < list.Items.Count; counter++) 
{ 
    if(list.Items[counter].Selected) 
    { 
    values.Add(list.Items[counter].Value); 
    }  
} 
return (String[]) values.ToArray(typeof(string)); 
} 
+0

¿hay alguna posibilidad de obtener el recuento exacto? – ranjenanil

+0

@ranjenanil - esto te dará la cuenta exacta .... –

+0

@ pranay..puedes publicar tu respuesta anterior por favor? – ranjenanil

3

Vamos a recorrer el CheckBoxList y utilizar una variable contador para contar los elementos seleccionados. Para cada artículo en CheckBoxList añadiremos 1 para contrarrestar SelCount variable de si el artículo está marcado

int selCount = 0; 

for(int i= 0; i< chklst.Items.Count; i++) 
    if(chklst.Items[i].Selected) 
     selCount++; 

// Ahora SelCount contendrá el número de elementos seleccionados

28

Utilice esta sola línea de código:

int selectedCount = chkselectedItems.Items.Cast<ListItem>().Count(li => li.Selected); 
+0

Realmente increíble ... Muchas gracias :);) –

0

Usando LINQ

var count= chkmenuitemdef.Items.Cast<ListItem>().Where(c => c.Selected).Count(); 
Cuestiones relacionadas