none
usando checkbox en datagridview c# RRS feed

  • Pregunta

  • hola

    estoy tratando de usar checkbox en un datagridview, tengo una columna llamada check, la que contiene el checkbox, y otra llamada saldo, quiero que cuando chekee un checkbox, en un texbox me mustre la suma de los saldos seleccionados, al quitar el check debe restar el valor del saldo no chekeado

    tengo algo asi, pero no funciona:

            private void grilla_cuotas_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                if (e.RowIndex == -1)
                    return;
                if (grilla_cuotas.Columns[e.ColumnIndex].Name == "Check")
                {
                    DataGridViewRow fila = grilla_cuotas.Rows[e.RowIndex];
    
                    DataGridViewCheckBoxCell celda = fila.Cells["Check"] as DataGridViewCheckBoxCell;
    
                    if (Convert.ToBoolean(celda.Value))
                    {
                        valor = valor + Convert.ToInt64(fila.Cells["saldo"].Value);
                        text_importe.Text = valor.ToString();
                    }
                }
              
            }
    
            private void grilla_cuotas_CurrentCellDirtyStateChanged(object sender, EventArgs e)
            {
                if (grilla_cuotas.IsCurrentCellDirty)
                {
                    grilla_cuotas.CommitEdit(DataGridViewDataErrorContexts.Commit);
                }
            }


    _________________________________________________ ciberastro visitanos en www.compudiz.com



    • Editado ciberastro viernes, 12 de abril de 2013 1:42 faltaba codigo
    viernes, 12 de abril de 2013 1:39

Respuestas

  • hola

    no necesitas tanto codigo con linq puede hacer eso en uan sola linea

    decimal suma = DataGridView1.Rows.Cast<DataGridViewRow>()
    				.Where(x => Convert.ToBoolean(x.Cells["check"].Value))
    				.Sum(x => Convert.ToDecimal(x.Cells["monto"].Value));
    como veras queda muy simple

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta ciberastro viernes, 12 de abril de 2013 4:39
    viernes, 12 de abril de 2013 2:01