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