none
Facturacion Datagridview y ComboBox. RRS feed

  • Pregunta

  • Hola mi Gente como estan! espero que bien. Bueno mi inquietud es la siguiente y ojala me ayude tengo un formulario de facturacion en el cual hay un datagridview y en ese elemnto hay una columna de combobox, el combo contiene la lista de codigos de los productos o mejor dicho nombres de los productos, lo que yo quiero es que cuando yo le de click a un producto del combobox me llene los campos del fila. los campos del datagrid son:

    • Codigo: combobox el valor es el codigo del producto y para mostrar esta el nombre del producto.
    • Precio de Venta: es el precio unitario del producto.
    • Cantidad: es la cantidad de productos a comprar esto lo inserta el usuario
    • Categoria: Categoria del producto.
    • Total : este no es de base de datos pero hay que realizar los calculos eso lo hago yo despues cacharreando.

     

    Sigo con mi explicacion, entonces cuando se de click en un producto del combo me llene las filas de cada campo y este la fila siguiente este lista para consultar el proximo producto asi como una factura normalita.

    Elementos a utilizar:

    • EmpresaDataset
    • FacturaBindingSource*
    • FacturaTableAdapter*

     

    * Factura no es una tabla de la BD es un data table creado con la siguiente consulta:

     

    Code Snippet

    SELECT        productos.cod_producto, productos.nombre AS Nombre, productos.pre_venta,  categorias.nombre AS Categoria
    FROM            categorias INNER JOIN
                             productos ON categorias.cod_categoria = productos.categoria AND categorias.cod_categoria = productos.categoria
    WHERE        (productos.cod_producto = @codigo)

     

     

    Cualquier ayuda o ejemplo que se pueda compartir se lo agradeceria de corazon.

    • Cambiado Enrique M. Montejo jueves, 5 de mayo de 2011 6:37 consulta de datos (De:Lenguaje VB.NET)
    miércoles, 13 de agosto de 2008 20:26

Todas las respuestas

  • Hola,

     

    El tipico maestro-detalle,

     

    Necesitas un Dataset, vamos a llamarlo FacturacionDataSet, asumiendo que tienes en tu base de datos las tablas Facturas, FacturaItems y Productos o como quieras que las llamastes, arrastramos esas tablas a la superficie del diseñador de Dataset, esto nos creara un dataset tipado,

     

    Puedes agregar una columna calculada al datatable de Detalles con la siguiente expresion: Cantidad*PrecioUnitario,

    (asumiendo que tienes esas columnas definidas en tu db), le indicas que es de tipo decimal, y le colocas un nombre.

     

    Ya podemos enlazar nuestra interfaz a este dataset.

     

    Crear controles para mostrar datos de la tabla Facturas

    1. En la ventana Orígenes de datos, seleccione la tabla Facturas y, a continuación, haga clic en la flecha de lista desplegable.

    2. Elija Detalles en el menú.

    3. Arrastre el nodo principal Facturas de la ventana Orígenes de datos hasta la parte superior del Form.

    Crear controles para mostrar datos de la tabla FacturaItems

    • En la ventana Orígenes de datos, expanda el nodo Facturas y seleccione la última columna de la tabla Facturas, que es un nodo FacturaItems expansible, y arrástrela hasta la parte inferior de Form .

    Arrastra un componete BindingSource desde el ToolBox al form y lo enlazas al DataTable Productos de tu Dataset, te sugiero que le coloques el nombre productosBindingSource.

     

    Luego en el DataGridView que se genero cambias el tipo de celda  para el codigo del producto, a un DataGridViewComboBoxColumn y estableces las propiedades de datos al productosBindingSource

     

    Luego en el evento CellValidating del DataGridView, colocas este codigo

     

    C#

    if (facturaItemsDataGridView.Rows[e.RowIndex].IsNewRow)

    {

    return;

    }

    if (e.ColumnIndex == 0)

    {

    FacturasDataSet.ProductosRow prodRow = (this.productosBindingSource.Current as DataRowView).Row as FacturasDataSet.ProductosRow;

    this.facturaItemsDataGridView.Rows[e.RowIndex].Cells[2].Value = prodRow.PrecioUnitario;

    this.facturaItemsDataGridView.Rows[e.RowIndex].Cells[4].Value = prodRow.Categoria;

    }

     

     

    jueves, 14 de agosto de 2008 13:18
  •  

    eso esta en C# pero no entiendo muy bien lo que quieres hacer en codigo. mi punto central es hacer que cuando se escoja un producto de un combobox del datagridview me llene el resto de la fila. Gracias de todas maneras
    viernes, 15 de agosto de 2008 2:06
  • me puedes atudar.

    tengo este problem.

    mi tabla es: diezmoiglesia

    las columnas son:

    FacturaID|Fecha|Nombre|Apellido|Cedula|Diezmo|ofrenda|Siembra|Primisia|

    nesesito hacer una factura que me permita imprimir toda esta informacion sobre un cliente.

    ejemplo: Imprimir Factura:

    FacturaID: 134

    Fecha: 01/02/2012

    Nombre: Jorge David

    Apellido: Pertuz Manga

    Cedula: 1354982653

    Diezmo  ofrenda  Siembra  Primisia

         2000         1500              0                 0

    ------------------------------------------------------

    Total Consinacion por cliente: 3500

    esto es lo que necesito en este programita.

    me puedes ayudar por favor se los agradezco.

    Correo webdiseniojorge@hotmail.com


    domingo, 12 de febrero de 2012 21:34