Reordenar Columnas De Un TableView


Objetivo: Reordenar Columnas De Un TableView
Hola a todos.
Estoy desarrollando un formulario para importar datos desde archivos csv,odt,xls etc. a una tabla.
El objetivo que debo superar ahora es la vinculación de las columnas de la tabla con las de la fuente de datos, que pueden no estar ordenadas de la misma manera e incluso pueden diferir la cantidad de las misma.
¿Como se pueden ordenar columnas de TableViewcon el ratón? ¿Si no se puede, alguna otra idea?

Saludos.

Perfil MP  
Objetivo: Re: Reordenar Columnas De Un TableView
No se puede de manera automática.
El tema de los csv es complejo porque en ellos te puedes encontrar de todo. Los hay que tienen los nombres de los campos en la primera fila y los que no, los que tienen los números sin comillas y los textos entrecomillados y los que entrecomillan todo y los que no entrecomillan nada, etc. etc.

El tema no es ajustar el csv al tableview, es ajustar el tableview a lo que el gridview contenga. Yo tengo hecho un control que genera un gridview a partir de un csv (o de un result, o de un variant o de una colección) automáticamente , se llama wgrid y no recuerdo si lo he subido por aquí alguna vez, aunque me suena que sí.

Si te interesa puedo subirte un ejemplo.

Saludos.

Perfil MP  
Objetivo: Re: Reordenar Columnas De Un TableView
shordi escribió: [Ver mensaje]
...Si te interesa puedo subirte un ejemplo.

El tema me interesa, pero esperate un poco para subir el ejemplo.
Sucede que lo que dices de los nombres de columnas en csv es verdad hay de todo.
Lo que quiero lograr es un formulario que me presente las columnas, con encabezado si lo tiene o con un numero de columna si no.
Y luego una vez que veo los datos decir esto va a parar a esta colunma de la tabla y esto otro a tal otra. esta la descarto y esta antes de ingresarla la convierto en mayúsculas. Todo con arrastrar y soltar del ratón para que sea mas amigable.
Luego esta el tema de que hay campos de la tabla destino que son con clave foránea con lo cual al importar ese dato en realidad hay que verificar si esta en otra tabla y en caso que no lo este agregarlo para finalmente referenciarlo en la table original.
Luego hay otras cuestiones como el marcar que campos pueden generar registros en tablas secundarias y que hacer cun los registros que presentarian una falta de consistencia al no poder crear esos registros en tablas secundarias, que puede ser pasar la linea del CSV a un CSV erroresdeimportacion.csv, por ejemplo.

Saludos.

Perfil MP  
Objetivo: Re: Reordenar Columnas De Un TableView
Mencionas problemas irresolubles. No es buena política la carga masiva de datos en nuestras bases de datos relacionales y perfectamente estructuradas sin una fuente de datos controlada y fiable. Es decir, si el programa que generó el csv es tuyo y los datos que contiene los controlas tú (sistema de copias de seguridad propio, por ejemplo), adelante. Si los datos vienen "de cualquier parte", lo que te puedes, mejor dicho, lo que te vas a encontrar es que necesitas tantos controles, tantas depuraciones, tantas revisiones, que tardarías menos metiendo los datos a mano y, lo que es peor, nunca estarías seguro de que lo que has cargado es correcto al 100%

Es más sencillo cargar el csv en una tabla intermedia y luego utilizar una batería de consultas sql para traspasar los datos válidos a las tablas estructuradas, dejando en pantalla sólo las filas que no ha sido posible añadir o que presentan dudas.

Aún así, dependiendo de lo que quieras hacer, te puedes encontrar con que cada vez que quieras cargar un csv te toca retocar (valga la redundancia) el código porque ha surgido algo inesperado. Por supuesto siempre, siempre, siempre copia de seguridad antes de hacer ninguna carga masiva de datos en nuestra "querida y pulida" base de datos.

Suerte.

Perfil MP  
Objetivo: Re: Reordenar Columnas De Un TableView
Echa un vistazo al archivo adjunto.


TableView-csv.tar.gz
Descripción:  
Descargar
Nombre del archivo: TableView-csv.tar.gz
Tamaño: 14.12 KB
Descargado: 39 veces
TableView-csv.tar.gz
Descripción:  
Descargar
Nombre del archivo: TableView-csv.tar.gz
Tamaño: 14.12 KB
Descargado: 39 veces
TableView-csv.tar.gz
Descripción:  
Descargar
Nombre del archivo: TableView-csv.tar.gz
Tamaño: 14.12 KB
Descargado: 39 veces

Perfil MP  
Objetivo: Re: Reordenar Columnas De Un TableView
cogier escribió: [Ver mensaje]
Echa un vistazo al archivo adjunto.

Gracias por el aporte Cogier, es el método que uso para cargar los CSV, supongo que Shordi usara algo parecido también.
Lo que intento saber es si es posible mediante eventos del ratón cambiar las columnas de sitio.

Saludos.

Perfil MP  
Objetivo: Re: Reordenar Columnas De Un TableView
"¿Como se pueden ordenar columnas de TableViewcon el ratón? ¿Si no se puede, alguna otra idea?"

He añadido una rutina de clasificación.

Image

última edición por cogier el Martes, 06 Noviembre 2018, 16:01; editado 1 vez

TableView-csv.tar.gz
Descripción:  
Descargar
Nombre del archivo: TableView-csv.tar.gz
Tamaño: 16.3 KB
Descargado: 36 veces
TableView-csv.tar.gz
Descripción:  
Descargar
Nombre del archivo: TableView-csv.tar.gz
Tamaño: 16.3 KB
Descargado: 36 veces
TableView-csv.tar.gz
Descripción:  
Descargar
Nombre del archivo: TableView-csv.tar.gz
Tamaño: 16.3 KB
Descargado: 36 veces

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.0967s (PHP: -38% SQL: 138%)
Consultas SQL: 25 - Debug off - GZIP Activado