miércoles, 5 de diciembre de 2007

seleccionar una linea especifica del datagridview

me encontre con el problema de que no podia irme a una linea " row" especifica en el datagridview .
primero lo que habia hecho era desactivar la opcion de que el usuario pudiera agregar una nueva fila funciono con el comando "Me.dtg_factura.AllowUserToAddRows = False" con esta instruccion se quedaba en la row que deseaba cuando empesaba la factura, pero a medida que ingresaba una nueva linea existia el problema de que el cursor se pasaba a la siguiente row y al momento de querer totalizar la factura no se movia a la siguiente lineas solo se quedaba en la ultima linea ingresada en el while . para poder resolver este problema encontre una propiedad en el datagridview en la que si me dejaba mover entre las diferente lineas este es el codigo

' calcular el subtotal de la factura
Private Sub subtotal()
Dim renglon As Integer
renglon = Me.dtg_factura.Rows.Count
Dim i As Integer
i = 0
Me.txt_subtotal.Text = 0
Me.txt_descuento.Text = 0
Me.txt_impto.Text = 0
Me.txt_total.Text = 0
While i < renglon
dtg_factura.Rows(i).Selected = True
dtg_factura.CurrentCell = dtg_factura.Rows(i).Cells(0)
Me.txt_subtotal.Text = (CDbl(Me.txt_subtotal.Text) + Me.dtg_factura.CurrentRow.Cells("valor").Value).ToString
Me.txt_descuento.Text = (CDbl(Me.txt_descuento.Text) + Me.dtg_factura.CurrentRow.Cells("desc_valor").Value).ToString
Me.txt_impto.Text = (CDbl(Me.txt_impto.Text) + Me.dtg_factura.CurrentRow.Cells("impto_valor").Value).ToString
Me.txt_total.Text = (CDbl(Me.txt_impto.Text) + Me.dtg_factura.CurrentRow.Cells("impto_total").Value).ToString
i = i + 1
' Me.dtg_factura.CurrentCell.Value = i + 1
'me.dtg_factura.CurrentRow.v
End While
Me.dtg_factura.Refresh()
End Sub

No hay comentarios: