por crear con codigo botones c# .net checkboxlist

con - crear botones por codigo c#



Cómo hacer un bucle a través de una lista de casilla de verificación y para encontrar lo que está marcado y no verificado (6)

Estoy tratando de recorrer los elementos de una lista de casillas de verificación. si está marcado, quiero establecer 1 valor. Si no, quiero establecer otro valor. Estaba usando el siguiente, pero solo me da elementos marcados:

foreach (DataRowView myRow in clbIncludes.CheckedItems) { MarkVehicle(myRow); }

TIA!


Utilice el método GetItemChecked o GetItemCheckState de CheckBoxList para averiguar si un elemento está marcado o no por su índice.


for (int i = 0; i < clbIncludes.Items.Count; i++) if (clbIncludes.GetItemChecked(i)) // Do selected stuff else // Do unselected stuff

Si el cheque está en un estado indeterminado, esto seguirá siendo verdadero. Es posible que desee reemplazar

if (clbIncludes.GetItemChecked(i))

con

if (clbIncludes.GetItemCheckState(i) == CheckState.Checked)

si solo quieres incluir elementos realmente marcados.


Esto dará una lista de seleccionados

List<ListItem> items = checkboxlist.Items.Cast<ListItem>().Where(n => n.Selected).ToList();

Esto le dará una lista de los valores de los cuadros seleccionados (cambie el valor por el texto si se desea):

var values = checkboxlist.Items.Cast<ListItem>().Where(n => n.Selected).Select(n => n.Value ).ToList()


Pruebe algo como esto:

foreach (ListItem listItem in clbIncludes.Items) { if (listItem.Selected) { //do some work } else { //do something else } }


Creo que la mejor manera de hacerlo es usar CheckedItems :

foreach (DataRowView objDataRowView in CheckBoxList.CheckedItems) { // use objDataRowView as you wish }


comboxlist.Items[i] usando loop para cada índice en la comboxlist.Items[i] de comboxlist.Items[i]

bool CheckedOrUnchecked= comboxlist.CheckedItems.Contains(comboxlist.Items[0]);

Creo que resuelve tu propósito