none
ASP y C# Que control es mejor para crear un formulario de cotizacione? RRS feed

  • Pregunta

  • Hola que tal, quisiera pedir su consejo para empezar con el pie derecho con un formulario que me encargaron y hacerlo de la manera mas eficiente... lo que a mi se me viene a la mente es es un Grid, con cuatro columnas:

    La primiera recibe por parte del usuario la clave de un producto.

    La segunda recibe por parte del usuario un numero de piezas.

    La tercera genera automaticamente el precio unitario de dicho producto, lo obtiene de una base de datos si la clave es valida

    La cuarta genera automaticamente el precio total por los N productos

    Lo primiero que se me ocurre es utilzar el gridView y en los eventos de las celdas hacer exactamente:

    1. Cuando el usuario capture la clave del producto en el evento de la celda hacer que se muestre el precio unitario en la columna 3

    2. Cuando el usuario capture el numero de piezas que en la cuarta columna se muestre el el precio unitario por el numerod e piezas.

    ahora cuando se llene una FILA abajo del grid debe haber una caja de texto donde vaya se vaya calculando un total de la ultima columna.

    Como veran supongo que son puros eventos del Grid... pero pra no complicarme desde un principio me gustaria su opinion de como lo harian, con el GridView o con que me sugieren.

    De antemano muchas gracias.
    jueves, 5 de noviembre de 2009 0:05

Respuestas

  • hola

    Te comento, segun la descripcion que brindas pareceria que la grilla seria justo lo que necesitas, es mas con algo de practica seguro lo lograras hacer.

    Pero solo a modo de recomendacion no has analizado dividir las responsabilidades de la edicion, por ahi que la grilla sea solo una lista visual de los items y la carga se realice debajo d esta usando controles comunes como textbox y combobox, etc


    Te lo comento porque si bien la grilla te dejara hacer lo que necesitas se puede volver algo pesada en tema de acceso a los controles, los postback, las validaciones, etc

    Es solo un comentario para que lo tengas en cuenta

    Lo que sugiero es que la lista muestre las columnas que comentas pero solo lectura por ahi con botones de edicion, y borrado, pero la edición apropiadamente dicha se realice mediante la carga de controles simples de facil manipulacion

    Recuerda que la grilla para esto necesitara secciones de template y a veces acceder a estos controles dentro de template para poner validaciones de tipos de datos, y calculo de una calda a otra puede no se tan directo, mas si las validaciones quieres hacerlas sin postback, por medio de javascript

    Ademas según veo tienes varias operaciones de edición calculo entre celdas recuperación de datos en la db, o sea creo que quedaría muy cargada de funcionalidad un solo control

    La idea es debajo de la grilla tienes en textbox los campos que antes mencionaste, para el ingrado de datos por parte del usuario, y un boton de agregar, al hacerlo este registro se valida, e inserta en la db, por supuesto el mismo sera cargado para su viaulizacion en la grilla.
    Si se necesitan modificar se selecciona y esto hace que los datos se vuelvan a copiar a los textbox para si modificación.

    Te dejo un link muy completo sobre el control

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta ljavier jueves, 5 de noviembre de 2009 14:22
    jueves, 5 de noviembre de 2009 2:28

Todas las respuestas

  • hola

    Te comento, segun la descripcion que brindas pareceria que la grilla seria justo lo que necesitas, es mas con algo de practica seguro lo lograras hacer.

    Pero solo a modo de recomendacion no has analizado dividir las responsabilidades de la edicion, por ahi que la grilla sea solo una lista visual de los items y la carga se realice debajo d esta usando controles comunes como textbox y combobox, etc


    Te lo comento porque si bien la grilla te dejara hacer lo que necesitas se puede volver algo pesada en tema de acceso a los controles, los postback, las validaciones, etc

    Es solo un comentario para que lo tengas en cuenta

    Lo que sugiero es que la lista muestre las columnas que comentas pero solo lectura por ahi con botones de edicion, y borrado, pero la edición apropiadamente dicha se realice mediante la carga de controles simples de facil manipulacion

    Recuerda que la grilla para esto necesitara secciones de template y a veces acceder a estos controles dentro de template para poner validaciones de tipos de datos, y calculo de una calda a otra puede no se tan directo, mas si las validaciones quieres hacerlas sin postback, por medio de javascript

    Ademas según veo tienes varias operaciones de edición calculo entre celdas recuperación de datos en la db, o sea creo que quedaría muy cargada de funcionalidad un solo control

    La idea es debajo de la grilla tienes en textbox los campos que antes mencionaste, para el ingrado de datos por parte del usuario, y un boton de agregar, al hacerlo este registro se valida, e inserta en la db, por supuesto el mismo sera cargado para su viaulizacion en la grilla.
    Si se necesitan modificar se selecciona y esto hace que los datos se vuelvan a copiar a los textbox para si modificación.

    Te dejo un link muy completo sobre el control

    saludos

    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta ljavier jueves, 5 de noviembre de 2009 14:22
    jueves, 5 de noviembre de 2009 2:28
  • Si lo que me comentas si me lo imaginaba, como que va a ser mucha carga para el Grid, ademas ya trabaje con el GridView y creo que si se necesito mucha practica para que salga como yo quiero.

    Ademas estaba checando algo que no me gusto mucho, cada vez que se ejecuta un evento se hace un reload de la pagina verdad???

    Bueno me recomendaron mejor hacerlo con JS pero no se como podria vincular la BD con el JS... 

    De antemano, muchas gracias por tu ayuda, tomare en cuenta tus comentarios.


    jueves, 5 de noviembre de 2009 14:22
  • hola

    para poder trabajar sin hacer postback tienes dos alterntivas

    - utilizar asp.net ajax
    http://www.asp.net/learn/ajax-videos/


    - utilizar jQuery

    jQuery

    jQuery Documentacion

    jQuery UI

     

    jQuery HowTo's

    Tutorial de jQuery

    http://docs.jquery.com/Tutorials


    por ahi con jQuery al principio cueste algo mas pero podrias hacer algo como esto

    Using jQuery to directly call ASP.NET AJAX page methods

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 5 de noviembre de 2009 14:53