RE:Listview VS (Grid, MsFlexGrid)
Yo me quedo sin duda con el listview, a pesar de que tiene varios inconvenientes:
- No se puede conectar a un control data, a un recordset...etc (si te interesa algo sencillo y que, a la vez que el usuario va haciendo cambios, se vaya guardando en la bd, quédato con el grid).
- Derivado de lo anterior, tienes que currarte las inserts, updates y deletes a código (aunque tiene una ventaja, y es que puedes controlar mejor la información que se va a insertar o modificar, haciendo fáciles las validaciones).
- No se puede editar directamente su contenido (a partir del primer subitem), por lo que para cambiar datos o utilizas otro formulario (o textboxes dentro del mismo formulario) o bien haces una genialidad tipo textbox oculto que se vaya posicionando en la casilla en la que el usuario haya pinchado (algo que por experiencia puede dar muchos problemas).
- Si lo utilizas para cargar registros de una bd, te obliga a abrir un recordset, recorrer todos los elementos a mostrar y dar de alta las filas correspondientes, lo que puede llegar a tardar si son muchos registros, mientras que un grid no recorre todo el recordset, sino que lo va recorriendo a medida que el usuario se va moviendo por los registros.
Bien, ahora las ventajas:
- Puedes controlar perfectamente los datos que introduce el usuario.
- Es mucho más limpio, puesto que abres un recordset, cargas los datos y cierras el recordset. Los datos siguen en el listview, mientras que físicamente no tienes que estar interactuando con la base de datos (elimina la necesidad de tener un recordset permanentemente abierto contra la base de datos). El usuario puede hacer multitud de cambios que sólo se guardarían