Ver Mensaje Individual
  #3 (permalink)  
Antiguo 05/02/2009, 11:50
dolguin
 
Fecha de Ingreso: mayo-2008
Ubicación: Chile
Mensajes: 14
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: [c#] Datagrid y checkbox

Gracias @Mdavila,
había pensado una solución parecida, pero el problema que tenía con ella es que ya encontraba 1 por defecto (la seleccionada), lo que hice fue simplemente llamar a una función que hiciera lo casi lo mismo (por eso no pude utilizarla de forma recursiva)
Dejo acá la solución por si a alguien mas le sirve,

Código:
    static bool BuscaDatosRepetidos( DataGrid dgProductos)
    {
        CheckBox chk;
        bool sw=false;
        foreach (DataGridItem dgItem in dgProductos.Items)
        {
            chk = (CheckBox)dgItem.Cells[13].Controls[1];
            if (chk.Checked == true)
            {
                sw = BuscaRepetidos(dgProductos, (string)dgItem.Cells[14].Text);
                if (sw == true) break;
            }            
        }
        return sw;
    }
Código:
    static bool BuscaRepetidos(DataGrid dgrid, string id)
    {
        CheckBox chk;
        int contador=0;
        foreach (DataGridItem dgitem in dgrid.Items)
        {
            chk = (CheckBox)dgitem.Cells[13].Controls[1];
            if ((chk.Checked == true) & ((string)dgitem.Cells[14].Text == id)) contador++;
        }
        if (contador != 0) contador--;
        if (contador == 0) return false ; //VALOR NO REPETIDO
        else return true ;              //VALOR REPETIDO
    }
Bue' si alguien tiene algo un poco mas optimo, no estaría demás que me lo propusiera
Saludos