none
En que momento (o en que evento) hacer una sumatoria. RRS feed

  • Pregunta

  • Buen día señores. 

    Con este asuntillo que ya me tiene vuelto loco. El hecho es que tengo un grid, al cual le cambio el valor de una celda mediante un combobox, de ésta forma: 

    Case 2
                    mestado = "Seguimiento"
                    Cotizar.grvcotizar.Rows(renglon).Cells("estado").Value = mestado

    Lo hace bien, actualiza la grilla y todo. El problema es que tengo una función, llamada cuentasuma que entre otras cosas, cuenta los renglones de la grilla que tienen cierto valor, para éste caso, los que tienen "seguimiento" en la columna estado.

    Dim regace = tblcotizar.Compute("count(estado)", "estado= 'Aceptada'")

    lblcapetadas.text = regace.tostring

    La que espero es que al momento de cambiar el contenido de la celda, de: Pendiente, seguimiento, aceptada, etc. Inmediatamente me las contabilice.

    La pregunta concreta es, en que momento llamo mi función para contar los renglones? Ya usé varias opciones...

    grvcotizar_CellValueChanged

    grvcotizar_CellEndEdit

    grvcotizar_CellLeave

    Y otras que tampoco me funcionaron. Espero haber sido claro y que puedan echarme la mano.

    Cabe aclarar que al entrar al form donde está el grid, si hace el recuento, pero cuando hago el cambio, necesito salir y volver a entrar para ver el cambio... y pues así no me es útil.

    Saludos y gracias


    Ing. José Elías Pelayo

    martes, 30 de abril de 2019 17:24

Todas las respuestas

  • Hola Elías

    Podrias intentar con esto

     private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                if (dataGridView1.CurrentCell.ColumnIndex == 1) //en este caso el 1 determina la columna deseadan osea la segunda columna
                {
                    TextBox tb = e.Control as TextBox;
                    if (tb != null)
                    {
                        tb.TextChanged += Tb_TextChanged;
                    }
                }
            }
    
            private void Tb_TextChanged(object sender, EventArgs e)
            {
               //Aqui haces la suma
            }
        }


    • Editado Marti Llam miércoles, 1 de mayo de 2019 3:24
    • Propuesto como respuesta Carlos_Ruiz_M jueves, 2 de mayo de 2019 15:39
    miércoles, 1 de mayo de 2019 3:23