Visual Basic.NET - Ayuda con Datagredview

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 51 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ayuda con Datagredview

Publicado por Hector Quiroz Mejia (4 intervenciones) el 13/11/2019 18:05:10
Muy Buenos Dias,

Tengo un Datagridview con las siguientes columnas:
Articulo, nombre del articulo, precio y cantidad.

Necesito que al digitar un codigo de articulo me haga una consulta a una tabla de articulo me regrese el nombre del articulo y el precio y me lo ponga en los campos del datagidview, para posteriormente solo digitar la cantidad.
Lo necesito en Visual Basic 2015.
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

Ayuda con Datagredview

Publicado por Phil Rob (1546 intervenciones) el 13/11/2019 18:44:41
Hola,

Tu pregunta no es suficientemente precisa !

Que es tu tabla ? Una tabla en un DB, un DataTable, un List, ... ?

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

Ayuda con Datagredview

Publicado por Hector Quiroz Mejia (4 intervenciones) el 13/11/2019 23:12:18
La tabla de articulos, pertenece a una base de datos inventario SQL.
por ejemplo:

Este seria el Datagridview
-----------------------------------------------------------------------------------------------------------------------
I codigo I nombre del producto I precio I cantidad I total I
-----------------------------------------------------------------------------------------------------------------------
I 101 I xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx I 999.99 I 10 I 999 I
-----------------------------------------------------------------------------------------------------------------------

Yo digitaria el codigo 101, luego vendria una consulta a la tabla de articulos (select * from articulos where articulo(grid) = articulo(articulos)
el resultado me insertaria en el Grid el nombre de producto y el precio. posteriormente digitaria la cantidad y calcularia el total.

No se si me pude explicar. Gracias de antemano...
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

Ayuda con Datagredview

Publicado por Phil Rob (1546 intervenciones) el 13/11/2019 23:38:47
Hola,

Supongo que existen DataGridView1, TextBox1 y Button1.
Escribes el valor del campo a buscar en TextBox1 y click el Button1.
Un código parece como el siguiente puede te ayudar :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
 
    Dim comando As String
    Dim adapter As SQLDataAdapter
    Dim Data_Table As New DataTable
 
    Dim CadenaConection_ As String = " ...   "  ' Dar la frase de conexion
    Dim conexion As SQLConnection = New SQLConnection(CadenaConection_)
 
    Try
        comando = "SELECT * FROM NombreTablaArticulos WHERE CamposABuscar = '" & TextBox1.Text & "'"
        adapter = New SQLDataAdapter(comando, conexion)
        adapter.Fill(Data_Table)
        DataGridView1.DataSource = Data_Table  ' Tambien es posible de agregar "manualmente" las lineas en DataGridView
    Catch ex As Exception
 
        MessageBox.Show(ex.Message)  ' Si error con la DB
 
    End Try
 
    adapter.Dispose()
 
End Sub

Espero darte una buena idea ...
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

Ayuda con Datagredview

Publicado por Hector Quiroz Mejia (4 intervenciones) el 14/11/2019 16:13:44
Mis mas sinceras disculpas si no me he explicado bien.

No tengo ningun textbox, ni un bottom.

La captura del codigo la hago al ingresar una nueva fila en el datagridview.

Yo digitaria el codigo en la celda de codigo del datagrid, luego haria la consulta y los datos nombre de producto
y precio, resultados de la consulta los introduciria en las celdas nombre del producto y precio del datagrid.

Gracias ....
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

Ayuda con Datagredview

Publicado por Phil Rob (1546 intervenciones) el 14/11/2019 16:35:14
OK, comprendo.

Te do codigos en la tarde o manaña.

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: 83
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Ayuda con Datagredview

Publicado por Raúl Mejía (31 intervenciones) el 14/11/2019 19:59:00
Hola Héctor, buenas tardes.

yo tengo un sistema de punto de venta en el cual mis artículos los tengo en un listview, al seleccionar yo el artículo deseado digito la tecla insert y automáticamente me graba el registro en un datagridview, para posteriormente digitar yo el número de artículos de la venta y me arroja automáticamente el importe total por la cantidad de artículos, creo que te pudiera servir, o como te comenta el buen Phil Rob, podrías poner una caja de texto y un botón para obtener la información.

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

Ayuda con Datagredview

Publicado por Phil Rob (1546 intervenciones) el 15/11/2019 00:03:48
Hola,

Mi DataGridView se llama DGVTest. He escribido un procedimiento para el evento CellValueChanged. No es optimizado.

El evento dame los indicios de columna y línea de la celda cambiada. Si ColumnIndex no es el indico de la columna del código a encontrar, no tienes que ejecutar el procedimiento. En mi ejemplo, supongo que el indico de la columna del código a encontrar es 0 : If e.ColumnIndex <> 0 Then Exit Sub

Si este indicio es bien, busco el registro en la DB y llenar un DataTable con los campos. Entonces, pongo el campo con el texto en el DataGridView en la columna del producto (columa 1 en mi ejemplo) : DGVTest.Item(1, e.RowIndex).Value = UnaTabla.Rows(0).Item(1)

Mi ejemplo es hecho para Access 2013. Para SQL, tienes que reemplazar “OleDbDataAdapter” por “SqlDataAdapter” (2 veces). También tienes que reemplazar la ConnectionString.

El video muestra el resultado : https://www.dropbox.com/s/w2yzlt246luij36/SQL.mp4?dl=0

Saludos

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
Private Sub DGVTest_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVTest.CellValueChanged
 
    Dim MiAdapter As OleDbDataAdapter
    Dim UnaTabla As New DataTable
    Dim Consulta As String
 
    If e.ColumnIndex <> 0 Then Exit Sub ' 0 es el indicio de la columna del Id
 
    Dim NombreDBCompleto As String = "D:\Tmp\TestAccesDBSQLExpress\MonStock2013.accdb"   ' MiExistencia
    MiConexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & NombreDBCompleto & ";"  ' Ejecutar en x64
 
    NombreTablaEnDB = "TProduit"   ' este es LaTablaQueMeGusta, = TProductos
 
    Try
        Consulta = "SELECT * FROM " & NombreTablaEnDB & " WHERE Id = " & DGVTest.Item(0, e.RowIndex).Value
        MiAdapter = New OleDbDataAdapter(Consulta, MiConexion)
        MiAdapter.Fill(UnaTabla)
 
        DGVTest.Item(1, e.RowIndex).Value = UnaTabla.Rows(0).Item(1)
 
    Catch
        MessageBox.Show("Codigo " & DGVTest.Item(0, e.RowIndex).Value.ToString & " no encontrado")  ' Si error con la DB o malo codigo
    End Try
 
    UnaTabla.Clear()
    UnaTabla.Dispose()
    MiAdapter.Dispose()
 
End Sub
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

Ayuda con Datagredview

Publicado por Hector Quiroz Mejia (4 intervenciones) el 15/11/2019 18:16:17
Muy Buenos Dias, Phil.

Te agradezco por tu ayuda, lo voy a implementar en mi formulario.


Gracias....
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