{"id":25086829,"url":"https://github.com/ozzies-code/datagridview","last_synced_at":"2026-01-08T08:40:14.261Z","repository":{"id":273967121,"uuid":"921477249","full_name":"ozzies-code/DataGridView","owner":"ozzies-code","description":"Este proyecto consiste en una aplicacion de venta de productos que agrega los campos decriptivos de un producto al DataGrid para luego hacer el calculo del total a pagar por el cliente","archived":false,"fork":false,"pushed_at":"2025-01-24T02:51:31.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T09:19:07.773Z","etag":null,"topics":["collections","datagrid","datagridview","datagridview-control","events","lists"],"latest_commit_sha":null,"homepage":"https://github.com/ozzies-code/DataGridView/","language":"Visual Basic .NET","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ozzies-code.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-24T02:42:39.000Z","updated_at":"2025-01-24T02:52:33.000Z","dependencies_parsed_at":"2025-01-24T03:34:59.349Z","dependency_job_id":null,"html_url":"https://github.com/ozzies-code/DataGridView","commit_stats":null,"previous_names":["ozzies-code/datagridview"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FDataGridView","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FDataGridView/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FDataGridView/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ozzies-code%2FDataGridView/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ozzies-code","download_url":"https://codeload.github.com/ozzies-code/DataGridView/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246659323,"owners_count":20813323,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collections","datagrid","datagridview","datagridview-control","events","lists"],"created_at":"2025-02-07T09:19:16.113Z","updated_at":"2026-01-08T08:40:14.231Z","avatar_url":"https://github.com/ozzies-code.png","language":"Visual Basic .NET","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Title: DataGridView\n \n Este proyecto consiste en una aplicacion de venta de productos \n que agrega los campos decriptivos de un producto al DataGrid \n para luego hacer el calculo del total a pagar por el cliente.\n\n\n# Descripcion\n\n Este proyecto consiste en el desarrollo de una aplicacion que \n lleva a cabo la venta de una serie de productos que han sido \n agregados a una Coleccion \u003cList\u003e en el evento Form_Load.\n Luego al buscar a cada producto y colocar la cantidad de unidades\n a llevar por el cliente, se hace click en un boton que agregara \n los productos al DataGrid para posteriormente hacer el calculo \n del total a pagar por el cliente por la cantidad de productos \n que lleva.\n \n # Actualizacion: 23/01/2025\n # Hora: 22:48\n\nDetalles técnicos del proyecto:\nIdioma: Visual Basic.NET\nVersión del framework: 4.7.2\n\n## Autores\n\n- [@ozzies-code](https://www.github.com/ozzies-code)\n\n## Contribuciones\n\n¡Las contribuciones son siempre bienvenidas!\n\nConsulta `contributing.md` para conocer cómo comenzar.\n\nPor favor, respeta el `código de conducta` de este proyecto.\n\n## Despliegue\n\nPara implementar este proyecto, descargue los archivos del proyecto\ndel repositorio y el código del proyecto que se encuentra\nen el archivo README.md\n\n## 🚀 Acerca de Mi\nSoy un apasionado desarrollador fullstack de Venezuela 🇻🇪 y Países Bajos 🇳🇱\n\n\n🔭 Actualmente estoy trabajando en .NET Framework\n\n🔭 Actualmente estoy trabajando en desarrollo web\n\n🔭 Actualmente estoy trabajando en proyectos de .Console\n\n🔭 Actualmente estoy trabajando en bases de datos .SQL\n\n🌱 Actualmente estoy aprendiendo sobre frameworks, cursos, tutoriales y libros electrónicos\n\n💬 Pregúntame sobre desarrollo de software\n\n📫 Cómo contactarme oswaldojmp.nl@proton.me\n\n👨‍💻 Todos mis proyectos están disponibles en https://developerandtechnologyozziescode.blogspot.com/ (mi sitio web)\n\n📝 Escribo artículos regularmente en Medium.com/Ozzies.Code\n\n    ## 🔗 Links\n[![portfolio](https://img.shields.io/badge/my_portfolio-000?style=for-the-badge\u0026logo=ko-fi\u0026logoColor=white)]( https://developerandtechnologyozziescode.blogspot.com)\n[![linkedin](https://img.shields.io/badge/linkedin-0A66C2?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white)](www.linkedin.com/in/oswaldo-jesús-marín-pagés-ab4499a4)\n[![twitter](https://img.shields.io/badge/twitter-1DA1F2?style=for-the-badge\u0026logo=twitter\u0026logoColor=white)](https://twitter.com/ozzies_code)\n\n## Lecciones Aprendidas\n\n- Manejo del DataGrid\n- eventos de una Coleccion List\n- logica de programacion\n\n## image of the Project\n\n![imagen](https://github.com/user-attachments/assets/5c5669a6-f7bd-409b-a5b2-9cfa48770488)\n\n## Soporte\n\nPara soporte, email oswaldojmp.nl@proton.me\n\n## Pila de tecnología\n\n**Plataforma:** Visual studio 2022\n\n**Lenguaje:** Visual Basic.NET\n\nCodigo del Proyecto:\n\nPublic Class Form1\n\n    Dim listaproductos As New List(Of Producto) 'Lista de productos\n\n\n    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load\n\n        'Se crean los productos\n        'Se adhieren los productos a la lista de productos \n\n        listaproductos.Add(New Producto(\"ARROZ X 500GR\", 1800))\n        listaproductos.Add(New Producto(\"ACEITE X 1000ML\", 9800))\n        listaproductos.Add(New Producto(\"ATUN EN LATA MARCA XYZ\", 5400))\n        listaproductos.Add(New Producto(\"SALSA DE TOMATE X 500GR\", 4300))\n\n        desactivaTextBox() 'ver en la rutina\n\n        'Dim codigo As DataGridViewColumn\n\n        'codigo.HeaderText = \"Codigo\"\n        'codigo.CellTemplate = New DataGridViewTextBoxCell\n        'dgvProductos.Columns.Add(codigo)\n        'Esto se realizo por las propiedades del DataGridView\n\n\n    End Sub\n\n    Private Sub limpiaTextBox()\n\n        'Se limpian los TextBox de la interfaz\n\n        txtCodigo.Clear()\n        txtDescripcion.Clear()\n        txtPrecioU.Clear()\n        txtCantidad.Clear()\n        txtTotal.Clear()\n\n    End Sub\n\n    Private Sub txtCantidad_LostFocus(sender As Object, e As EventArgs) Handles txtCantidad.LostFocus\n\n        'Se calcula el total de la compra\n        'Se valida que la cantidad sea mayor a 0 y el campo no este vacio\n\n\n        If txtCantidad.Text \u003c\u003e \" \" And Val(txtCantidad.Text) \u003e 0 Then\n            Dim total As Double = Val(txtPrecioU.Text) * Val(txtCantidad.Text)\n\n            txtTotal.Text = total.ToString\n        End If\n    End Sub\n\n    Private Sub desactivaTextBox()\n\n        'Se desactivan los TextBox de la interfaz\n\n        txtDescripcion.Enabled = False\n        txtPrecioU.Enabled = False\n        txtTotal.Enabled = False\n    End Sub\n\n    Private Sub txtCodigo_LostFocus(sender As Object, e As EventArgs) Handles txtCodigo.LostFocus\n\n        'Se busca el producto en la lista de productos\n        'Se muestra la descripcion y el precio del producto en los TextBox\n        'Se captura la excepcion si el codigo no existe\n\n        Try\n            Dim codigo As String = txtCodigo.Text.ToUpper\n\n            For i = 0 To listaproductos.Count - 1 Step 1\n                If codigo.Equals(listaproductos.Item(i).Codigo_Producto) Then\n\n                    txtDescripcion.Text = listaproductos.Item(i).Descripcion_Producto\n                    txtPrecioU.Text = listaproductos.Item(i).Precio_Producto\n                    Exit For\n                End If\n            Next\n        Catch ex As Exception\n            MsgBox(\"El codigo ingresado no existe\")\n        End Try\n    End Sub\n\n    Private Sub dgvProductos_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvProductos.CellContentClick\n\n    End Sub\n\n    Private Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles btnAgregar.Click\n\n        'Se agregan los campos a la tabla de productos\n\n        dgvProductos.Rows.Add(txtCodigo.Text, txtDescripcion.Text, txtPrecioU.Text, txtCantidad.Text, txtTotal.Text)\n\n\n    End Sub\n\n    Private Sub btnVertotales_Click(sender As Object, e As EventArgs) Handles btnVertotales.Click\n\n        'Se calculan los totales de la venta\n        'Se recorre la tabla de productos y se suman los totales\n        'Se calcula el subtotal, el iva y el total de la venta\n        'Se muestran los totales en los TextBox\n\n        Dim total As Double = 0\n\n        For i = 0 To dgvProductos.Rows.Count - 1 Step 1\n            total += dgvProductos.Rows.Item(i).Cells.Item(4).Value\n\n        Next\n\n        Dim subtotal As Double = total - (total * 0.19)\n        Dim iva As Double = total * 0.19\n\n        txtSubtotal.Text = subtotal.ToString\n        txtIva.Text = iva.ToString\n        txtTotalVenta.Text = total.ToString\n    End Sub\n\n    Public Class Producto\n\n    'Atributoso Miembros de la clase\n    'Variables de Clase\n    Private codigo As String\n    Private descripcion As String\n    Private precioU As Double\n    Private Shared indiceCodigo As Integer = 1 'Atributo Compartido que automatiza el valor del atributo Codigo\n\n    Public Sub New(ByVal des As String, ByVal pu As Double)\n\n        codigo = \"AR00\" \u0026 indiceCodigo 'Texto + numeros. Inicia con 1/\n        indiceCodigo += 1\n        descripcion = des\n        precioU = pu\n\n    End Sub\n\n    Public ReadOnly Property Codigo_Producto As String\n\n        Get\n            Return codigo\n        End Get\n    End Property\n\n    Public ReadOnly Property Descripcion_Producto As String\n\n        Get\n            Return descripcion\n        End Get\n    End Property\n\n    Public ReadOnly Property Precio_Producto As String\n\n        Get\n            Return precioU\n        End Get\n    End Property\n\n\nEnd Class\n\nEnd Class\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozzies-code%2Fdatagridview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fozzies-code%2Fdatagridview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fozzies-code%2Fdatagridview/lists"}