none
Datagridview y sus propiedades con columnas-filas RRS feed

  • Debate general

  • Hola, tengo un problema, y es que al crear mi datagridview las operaciones que se realizan dentro y todo el codigo correspondiente se encuentran en un botón de "calcular", funciona y las operaciones son correctas, pero al darle otra vez click en "calcular" en la datagridview se agregan las mismas operaciones, agrandándose la datagridview, con nuevas columnas y filas, las operaciones son las mismas y los resultados iguales, mi problemas va en que al volver a apretar el botón "calcular" se hace todo una y otra vez. Me dijeron que ocupara otra propiedad, por ejemplo yo uso Datagridview1.Rows.Add()
    viernes, 8 de junio de 2018 2:57

Todas las respuestas

  • Si el botón de calcular tiene Rows.Add(), pues es lógico que cada vez que presione el botón, más filas se van a agregar.  Es exactamente lo que usted ha programado y por lo tanto es exactamente lo que obtiene.

    ¿No desea agregar filas si ya se ha presionado el botón?  Puede usar una variable a nivel de formulario que sirva para controlar esto.

    Por cierto, este es el foro de Visual Basic clásico y usted habla de DataGridView, que es un control de Windows Forms para .Net, así que VB clásico no aplicaría.  ¿Estoy en lo correcto al pensar que usted tiene un proyecto de VB.net Windwos Forms y no uno de VB clásico?

    Si es así, puede declarar una propiedad o variable a nivel de formulario de tipo Boolean cuyo valor inicial sería False.  Esta sería la variable de control.

    En el evento Click del botón de calcular, al final, cambie el valor de la variable de control a True.

    En el evento Click del botón de clacular, antes de agregar una fila, pregunte por el valor de la variable de control:  Si es True, evite el uso de Rows.Add().

    Dim filaAUsar As DataGridViewRow
    If (Not <variable de control>) Then
        'Es la primera vez que se presiona el botón.
        filaAUsar = New DataGridViewRow()
        dgv1.Rows.Add(filaAUsar)
    Else
        'La fila ya existe.  Ubíquela por índice o algún otro método.
        filaAUsar = ...
    End
    'Aquí la variable filaAUsar es la fila que usted necesita, ya sea
    'provista como una nueva fila, o una fila existente.
        


    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    viernes, 8 de junio de 2018 6:23