Elegir lo que muestra la columna del Datagrid

09/11/2004 - 11:02 por Jose Carlos | Informe spam
Hola, me gustaria saber si es posible elegir lo que ha de mostrar la columna
del datagrid, es decir por ejemplo en una tabla de pedidos, que quiero
mostrar en un datagrid, me gustaria que el datagrid no mostrara el
IdProducto en la columna correspondiente, sino el nombre del producto que
tengo en otra tabla Productos.
Muchas gracias y un saludo a todos.
 

Leer las respuestas

#1 Ing. Yván Ricardo Ecarri G., MCSD, MCDBA
19/11/2004 - 16:52 | Informe spam
Jose Carlos wrote:
Hola, me gustaria saber si es posible elegir lo que ha de mostrar la columna
del datagrid, es decir por ejemplo en una tabla de pedidos, que quiero
mostrar en un datagrid, me gustaria que el datagrid no mostrara el
IdProducto en la columna correspondiente, sino el nombre del producto que
tengo en otra tabla Productos.
Muchas gracias y un saludo a todos.




Jose Carlos,

Hay dos aspectos que tienes que contemplar:

1) Cómo obtener y manejar los datos y
2) Cómo presentarlos.

En cuanto al primer aspecto, tú debes tomar una decisión de diseño:
puedes hacer una consulta a la base de datos haciendo un "join" de la
tabla de pedidos con la tabla de productos para traer el nombre del
producto:

SELECT PR.Producto_Id, PR.Nombre_Producto, PE.Numero_Pedido, PE.Cantidad
FROM Productos PR, Pedidos PE
WHERE PR.Producto_Id = PE.Producto_Id

La otra opción es traer ambas tablas como parte de un dataset y usar
datarelations para vincular cada Id producto de la tabla de pedidos con
su correspondiente nombre en la tabla de productos.

En cuanto al segundo aspecto, lo puedes hacer usando TableStyles.
Permíteme hacer una breve introducción a la materia:

Un tablestyle es como una plantilla para el datagrid, que te permite
definir cómo se verá el mismo, incluyendo qué columnas va a mostrar, los
colores de texto, bordes, encabezados de columnas, etc.

Un TableStyle tiene, además de las propiedades necesarias para controlar
la apariencia del DataGrid, una colección de columnstyles. En cada
columnstyle puedes definir como se verá esa columna en particular.
Puedes, por ejemplo, hacer que la columna se comporte como un combobox,
o como un checkbox, o como un campo de texto sencillo.

Lo que debes hacer es crear un tablestyle, agregarle los columnstyles
que desees y pegarlo al datagrid. Los detalles los puedes encontrar en
el msdn. Seguramente que alguno de los amigos MVP te puede referir algún
artículo sobre la materia. Te mando la referencia a la clase TableStyle
en el MSDN:

ms-help://MS.MSDNQTR.2003FEB.1033/cpre...stopic.htm

Preguntas similares