Visual Basic.NET - otro problema de datagridview

 
Vista:
sin imagen de perfil
Val: 18
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Pablo (7 intervenciones) el 04/06/2019 05:21:22
buenas noches , yo de nuevo , se me presenta una inquietud yo lleno un datagridview haciendo una consulta a un datareader , hasta ahi todo perfecto , pero mi duda empieza cuando quiero llenar ese datagrid al momento de querer facturar un codigo que no esta cargado y ahi se me quemaron los papeles , como podria seguir agregando filas al datagrid ??? dejo el codigo

desde ya muchas gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Private Sub txtcod_LostFocus(sender As Object, e As EventArgs) Handles txtcod.LostFocus
        If Me.txtcod.Text <> "" Then
            Dim A As String = Me.txtcod.Text
            If A.IndexOf("*") > 0 Then
                cantidad = (A.Substring(0, A.IndexOf("*")))
                txtcod.Text = (A.Substring(A.IndexOf("*") + 1))
            End If
            consultarplu(Me.txtcod.Text)
            If dr.Read Then
                Me.txtnombre.Text = dr(0).ToString
                Me.txtprecio.Text = dr(6).ToString
 
                Dim suma As Double
 
                suma = Val(cantidad) * Val(txtprecio.Text)
 
                DataGridView2.Rows.Add(txtcod.Text, txtnombre.Text, cantidad, suma)
 
                Dim linea As DataGridViewRow
                Dim valor As Double = 0
                Dim N As Double
                For Each linea In DataGridView2.Rows
 
                    If Double.TryParse(linea.Cells(3).Value, N) Then
                        valor = valor + N
                    End If
 
                Next
 
                txttotal.Text = "$ " & FormatNumber(valor, 2)
                Me.txtcod.Text = ""
                Me.txtnombre.Text = ""
                Me.txtprecio.Text = ""
                Me.txtcod.Focus()
            Else
                MsgBox("Articulo no encontrado")
 
 
            End If
        Else
 
        End If
            dr.Close()
 
    End SubPrivate Sub txtcod_LostFocus(sender As Object, e As EventArgs) Handles txtcod.LostFocus
        If Me.txtcod.Text <> "" Then
            Dim A As String = Me.txtcod.Text
            If A.IndexOf("*") > 0 Then
                cantidad = (A.Substring(0, A.IndexOf("*")))
                txtcod.Text = (A.Substring(A.IndexOf("*") + 1))
            End If
            consultarplu(Me.txtcod.Text)
            If dr.Read Then
                Me.txtnombre.Text = dr(0).ToString
                Me.txtprecio.Text = dr(6).ToString
 
                Dim suma As Double
 
                suma = Val(cantidad) * Val(txtprecio.Text)
 
                DataGridView2.Rows.Add(txtcod.Text, txtnombre.Text, cantidad, suma)
 
                Dim linea As DataGridViewRow
                Dim valor As Double = 0
                Dim N As Double
                For Each linea In DataGridView2.Rows
 
                    If Double.TryParse(linea.Cells(3).Value, N) Then
                        valor = valor + N
                    End If
 
                Next
 
                txttotal.Text = "$ " & FormatNumber(valor, 2)
                Me.txtcod.Text = ""
                Me.txtnombre.Text = ""
                Me.txtprecio.Text = ""
                Me.txtcod.Focus()
            Else
                MsgBox("Articulo no encontrado")
 
 
            End If
        Else
 
        End If
            dr.Close()
 
    End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Phil Rob (1546 intervenciones) el 04/06/2019 08:24:42
Hola,

No tengo el tiempo este mañana para comprender tu problema pero veo un error (quizá) en tu código :

If A.IndexOf("*") > 0 then ...


Si el objetivo es solo saber si "*" existe entonces tienes que escribir :

If A.IndexOf("*") > -1 then ...


IndexOf da -1 si no existe
IndexOf da 0 si existe a la primera posición
IndexOf da 1 si existe a la segunda posición
IndexOf da Lenght - 1 si existe a la última posición

Podré ver todo el problema en la tarde si es todavia necesario.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 18
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Pablo (7 intervenciones) el 04/06/2019 14:39:03
si todavia es necesario , se agradece tu aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Phil Rob (1546 intervenciones) el 04/06/2019 18:29:42
Hola,

No bien comprendo tu mensaje ...
El problema es terminado o no es terminado ?

Disculpa mi mala comprensión del español ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Pablo (7 intervenciones) el 04/06/2019 19:01:25
todavia no lo solucione , sigo con el problema.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Phil Rob (1546 intervenciones) el 05/06/2019 00:26:32
Ok, miré el problema mañana (aqui, este es la 12 de la noche).
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 18
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Pablo (7 intervenciones) el 05/06/2019 02:05:24
perfecto, quedo a la espera :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

otro problema de datagridview

Publicado por Phil Rob (1546 intervenciones) el 05/06/2019 15:47:14
Hola,

Supuesto que este es demasiado simple pero probo entender ...
Para agregar una línea al DataGridView, tienes que hacer : DataGridView2.Rows.Add(txtcod.Text, txtnombre.Text, cantidad, suma) con los datos introducido "manualmente" en los TextBox. Entonces, donde es el problema ?
Quizá puede enviar fotos de las pantallas para mostrar la operación ?

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar