Tengo 10 registros de datos en una DataTable que tiene 3 campos "Foo", "Barra" y "Baz".¿Es posible cambiar filas y columnas en una vista de cuadrícula de datos?
Si conecto esto en un DataGridView veo 10 filas y 3 columnas, y los encabezados de columna muestran los nombres de los campos.
Me pregunto qué fácil es invertir las filas y columnas para que con los mismos datos termine con 3 filas y 10 columnas, con los nombres de los campos que se muestran en los encabezados de las filas.
Puedo hacer algunas cosas manualy, como anulando un método OnPaint y el dibujo los nombres de campo directamente en las celdas de encabezado de fila, pero yo estoy buscando algo más automatizado.
Nuevamente, hay una sugerencia de intercambiar valores manualmente, pero a menos que haga todos los valores Strings, esto no va a funcionar. 3 columnas en una tabla de datos: Foo, Bar y Baz de los tipos int, float y string simplemente no se transponen.
Incluso si gestioné todos estos cambios manuales, mis cuadrículas de datos tienen columnas CheckBox, columnas ComboBox - no existe tal contraparte de fila - no hay fila CheckBox o fila ComboBox. Donde actualmente solo necesito decirle al compilador "Agregar un ComboBoxColumn", tendría que volver a escribir para que cada celda se generara individualmente.
Idealmente me gustaría una TransposableDataGridView que expuso toda la funcionalidad de DataGridView, con una propiedad bool adicional "Transposed". De esa forma podría dejar todo mi código exactamente como está: no tendría que cambiar nada, excepto el tipo de cuadrícula.
Si no existe nada como esto, tal vez tenga que ir y escribirlo. (Solo debería llevarme un año más o menos :) :)
¿Sugiere agregar columnas al DataTable o al DataGridView? –