A ver si lo he entendido bien, tiene un
GridView-TableView con productos que muestra tres columnas: Productos, Volumen y Peso. Y quiere ordenar por la columna Productos. Además tiene otro valor asociado al producto, su
ID, que no se muestra. Y al final quiere guardar la información del
TableView en una base de datos, ordenado por el orden que aparece en el
TableView.
Pues depende del origen de los datos y en cierta medida de cómo cargue el
TableView, normalmente se suele hacer con el evento
Data. Si el origen de los datos es una base de datos se puede ordenar desde ahí con un "
Order by". Si el origen es otro habría que ver cual para poder determinar la manera más eficiente. El volumen de datos es importante para las ordenaciones.
Si tiene Productos y su
ID puede usar una clase
Collection, cargar como
Key el producto y como
Value el ID. Después tiene la posibilidad de ordenar los productos con "
cProductos.Keys.sort()" y cargar el
TableView. Le adjunto un ejemplo rápido para que vea posibilidades.
En cuanto a grabar en base de datos el listado ordenado no le veo sentido. Una cosa es cómo lo guarda y otra cómo lo extrae. Aunque si usa
Sqlite todas las tablas tienen un campo por defecto llamado
"rowid", es un identificador único que se incrementa a cada fila que se graba.
Si me da más detalle intentaré echarle una mano.
Un saludo, Harpo.