none
Calculos matematicos en un DataGridView

    Pregunta

  • Cordial saludo 

    el dilema es el siguiente:

    en un DataGridView tengo dos columnas traídas de una tabla en sql y tengo un TextBox con un valor, la idea es que los valores de una columna se multipliquen con el valor del TextBox y el valor agregarlo a una columna adyacente. mi codigo es el Siguiente:

     Private Sub Calculos()
            Try
                Dim Tarifa As String
                Dim Avaluo As String
                Dim Impuesto As String

                Tarifa = txt_Tarifa.Text
                Avaluo = DataGridViewPago.CurrentRow.Cells(2).Value
                Impuesto = Avaluo * Tarifa

                DataGridViewPago.CurrentRow.Cells(2).Value = Tarifa.ToString
                DataGridViewPago.CurrentRow.Cells(3).Value = Impuesto.ToString
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try


        End Sub

    pero en la casilla del impuesto me da cero 0, y solo lo realiza para la primera fila.

    que debo corregir?


    JorgeLeonardoDC


    martes, 13 de septiembre de 2016 22:55

Respuestas

  • JorgeLeonardoDC,

    Vinculas una fuente de datos (resultado de la consulta sql) con el objeto DataGridViewPago mediante la propiedad DataSource, ¿verdad?

    Si es así entonces no queda mas que actualizar el origen de datos vinculado para que los cambios se extiendan en el objeto DataGridViewPago:

    Dim dt As DataTable = DirectCast(DataGridViewPago.DataSource, DataTable)
    
    For Each row As DataRow In dt.Rows
    	Dim avaluo As Decimal = row.Field(Of Decimal)(2)
    	row.SetField(2, Convert.ToDecimal(txt_Tarifa.Text)
    	row.SetField(3, avaluo * Convert.ToDecimal(txt_Tarifa.Text))
    Next

    Tras la operación anterior los datos serán actualizados en el objeto DataGridViewPago.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.


    martes, 13 de septiembre de 2016 23:34

Todas las respuestas

  • JorgeLeonardoDC,

    Vinculas una fuente de datos (resultado de la consulta sql) con el objeto DataGridViewPago mediante la propiedad DataSource, ¿verdad?

    Si es así entonces no queda mas que actualizar el origen de datos vinculado para que los cambios se extiendan en el objeto DataGridViewPago:

    Dim dt As DataTable = DirectCast(DataGridViewPago.DataSource, DataTable)
    
    For Each row As DataRow In dt.Rows
    	Dim avaluo As Decimal = row.Field(Of Decimal)(2)
    	row.SetField(2, Convert.ToDecimal(txt_Tarifa.Text)
    	row.SetField(3, avaluo * Convert.ToDecimal(txt_Tarifa.Text))
    Next

    Tras la operación anterior los datos serán actualizados en el objeto DataGridViewPago.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.


    martes, 13 de septiembre de 2016 23:34
  • me sale el error 

    "no se puede encontrar la columna #"

    cual es el Problema?


    JorgeLeonardoDC

    martes, 20 de septiembre de 2016 16:14