none
Consulta de Manejo Cabecera-detalle RRS feed

  • Pregunta

  • Estimada Comunidad.-

    Deseo su asesoramiento con respecto al manejo de cabecera-detalle cual es la mejor manera de hacerlo??

    Como lo he hecho yo. (Primera Opcion)

    Recupero los datos en el datagridview y le sigo agregando mas regsitros, ademas sobre los ya recuperados tambien puedo editarlos o eliminarlos, manejo un id por cada detalle-item que voy alimentando.

    Al momento de presionar el boton guardar, leo todos los registros del detalle y los que ya existen en la base hago un update y si el id del datagridview es 0 indica que un registro nuevo, es decir, hago un insert, y para los eliminados los administro con un checkbox.

    Hice una segunda Opcion:

    Cada vez que voy insertando o editando guardo el resgistro a la base de datos y luego hago como ejemplo: datagridview1.Datasource = nDetalle(Cotizacion)

    Esto me ahorra bastante codificacion, pero no creo que util estar realizando accesos a la base de datos por cada detalle que inserte, actualice o elimine:

    He revisado que es mucho mejor manejar un dataset o un datatable, o mejor que me recomendarian y que seria lo mas eficiente para este tipo de cosas, yo estoy desarrollando a la antigua como programador de VB6 donde usaba las grid.

    Adjunto un print de mi pantalla, no esta pulido, como se puede ver muestros los codigos y nombre de los mismos

    donde indica Item inserto los datos y presiono el boton + o doble click sobre el datagridview y los recupero y pondo en el item una vez hecho el mantenimiento del registro vuelvo a persionar el boton +, como se cuando es un insert?? si CodigoDet=0 entonces insertar si es un valor mayor a 0, entonces Update.

    Pero pienso que no estoy usando todas las bondades de .Net con codificacion c#.

    Gracias por cualquier ayuda que me puedan facilitar


    lunes, 16 de abril de 2018 23:19

Respuestas

Todas las respuestas