none
Como puedo hacer que me modifique las filas de un datagridview automaticamente RRS feed

  • Pregunta

  • Como puedo hacer que me modifique las filas de un datagridview automaticamente

    Si tengo 4 filas y modifico por ej: la 3 me tendria que modificar automaticamente la 0, 1 y la 2

    como podria hacerlo

    Gracias

    Private Sub DGV_Maltas_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_Maltas.CellEndEdit
            If e.ColumnIndex = 1 Then
                ' Dim TotalGrano As Integer = DGV_Maltas.Rows.Cast(Of DataGridViewRow)().Sum(Function(x) Convert.ToInt32(x.Cells(1).Value)) 'SIN DECIMALES
                Dim totalgrano As Decimal = DGV_Maltas.Rows.Cast(Of DataGridViewRow).Sum(Function(x) Convert.ToDecimal(x.Cells(1).Value)) 'CON DECIMALES
                TextBox7.Text = TotalGrano
    
                'SUMA TOTAL KILOS
                'PORCENTAGE DE CADA GRANO
                For Each row2 As DataGridViewRow In DGV_Maltas.Rows
    
                    row2.Cells(2).Value = (100 / TotalGrano) * row2.Cells(1).Value
    
                Next
                'PORCENTAGE DE CADA GRANO
    
    
            End If
            If e.ColumnIndex = 2 Then
                'DGV_Maltas.CurrentRow.Cells(2).Value = (DGV_Maltas.CurrentRow.Cells(1).Value * 100) / DGV_Maltas.CurrentRow.Cells(1).Value
                'PORCENTAGE DE CADA GRANO
                For Each row2 As DataGridViewRow In DGV_Maltas.Rows
    
                    row2.Cells(1).Value = (row2.Cells(2).Value * TextBox7.Text) / 100
    
                Next
                'PORCENTAGE DE CADA GRANO
            End If
        End Sub
    
    Private Sub DGV_Maltas_CellValueChanged(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_Maltas.CellValueChanged
            Dim row As DataGridViewRow = DGV_Maltas.CurrentRow
            If row IsNot Nothing Then
                '' ''If e.ColumnIndex = 1 Then
                '' ''    Dim TotalGrano As Integer = DGV_Maltas.Rows.Cast(Of DataGridViewRow)().Sum(Function(x) Convert.ToInt32(x.Cells(1).Value))
                
                If e.ColumnIndex = 2 Then
                    Dim sumaDiferencial As Decimal = DGV_Maltas.Rows.Cast(Of DataGridViewRow).Sum(Function(x) Convert.ToDecimal(x.Cells(2).Value)) 'CON DECIMALES
                    sumaDiferencial = sumaDiferencial - Convert.ToDecimal(DGV_Maltas.CurrentRow.Cells(2).Value)
    
                    TextBox6.Text = FormatNumber(sumaDiferencial, 1).ToString()
                    Label1.Text = FormatNumber(sumaDiferencial, 1).ToString()
                End If
            End If
        End Sub

     
    sábado, 18 de junio de 2016 5:13

Respuestas

  • Asi lo e conseguido

    Private Sub DGV_Maltas_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DGV_Maltas.CellEndEdit
            'SUMA LAS MALTAS QUE VAS AÑADIENDO Y CALCULA EL %
            If e.ColumnIndex = 1 Then
                Dim totalgrano As Decimal = DGV_Maltas.Rows.Cast(Of DataGridViewRow).Sum(Function(x) Convert.ToDecimal(x.Cells(1).Value)) 'CON DECIMALES
                TextBox7.Text = totalgrano
                For Each row2 As DataGridViewRow In DGV_Maltas.Rows
                    row2.Cells(2).Value = (100 / totalgrano) * row2.Cells(1).Value
                Next
            End If
            'SUMA LAS MALTAS QUE VAS AÑADIENDO Y CALCULA EL %
            'REAJUSTA EL TANTO % DE LAS MALTAS Y LOS KILOS DE LAS MISMAS
            DGV_Maltas.CurrentRow.Cells(1).Value = (DGV_Maltas.CurrentRow.Cells(2).Value * TextBox7.Text) / 100
            If e.ColumnIndex = 2 Then
                For Each row2 As DataGridViewRow In DGV_Maltas.Rows
                    If row2.Cells(2).ToString = DGV_Maltas.CurrentRow.Cells(2).ToString Then
                    Else
                        row2.Cells(2).Value = ((100 - DGV_Maltas.CurrentRow.Cells(2).Value) * row2.Cells(2).Value) / TextBox6.Text   'AL CAMBIAR UN PORCENTAGE ME CAMBIA LOS DEMAS
                        row2.Cells(1).Value = (TextBox7.Text / 100) * row2.Cells(2).Value 'AL CAMBIAR UN PORCENTAGE CALCULA LOS GRANOS
                    End If
                Next
            End If
            'REAJUSTA EL TANTO % DE LAS MALTAS Y LOS KILOS DE LAS MISMAS
        End Sub

    • Marcado como respuesta JETET lunes, 20 de junio de 2016 7:25
    lunes, 20 de junio de 2016 7:25