Foros del Web » Programando para Internet » ASPX (.net) »

Crear columnas en gridview dinamicamente.

Estas en el tema de Crear columnas en gridview dinamicamente. en el foro de ASPX (.net) en Foros del Web. Hola a todos, necesito hacer algo medio complicado. Yo necesito cargar una grilla con la siguiente información resultado de una consulta de sql. Los dias ...
  #1 (permalink)  
Antiguo 07/10/2008, 07:04
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Crear columnas en gridview dinamicamente.

Hola a todos, necesito hacer algo medio complicado.

Yo necesito cargar una grilla con la siguiente información resultado de una consulta
de sql.

Los dias son el rango de dias laborados.


CodUsuario Nombre DiasLaborados
1 Pepe 2
1 Pepe 3
1 Pepe 4
2 Vicente 1
2 Vicente 5
2 Vicente 8

el problema esta en que yo necesito cargar los dias en forma de columnas
en el gridview de la siguiente manera:


CodUsu Nombre 2 3 4
1 Pepe x x x

Tampoco se como generar columnas dinamicamente (mediante código asp.net visual basic)
ya que yo siempre he trabajado con gridview pero he creado las columnas en
tiempo de diseño.

Por favor si alguien me puede guiar como hace algo asi ya he buscado
y nada que he encuentro como hacer algo asi.

Gracias cualquier ayuda q' me puedan dar.
  #2 (permalink)  
Antiguo 07/10/2008, 14:52
 
Fecha de Ingreso: febrero-2007
Mensajes: 32
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Crear columnas en gridview dinamicamente.

Para mí, esto podría solucionarse desde el momento que haces la consulta en la Base de Datos, o mejor dicho, lo meteria en un stored procedure.

Hablame un poco de la estructura de tus tablas para obtener los datos, y la forma en que lo obtienes. (digo, para analizarlo y saber si si es viable hacerlo desde la capa de datos ó no)
  #3 (permalink)  
Antiguo 07/10/2008, 18:18
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Crear columnas en gridview dinamicamente.

Gracias por tu respuesta.

La estructura de las tablas que estoy
usando en mi consulta esta dada de la siguiente manera:

TrabajoCab

codCab int
codUsu int
codCliente int
nombre varchar(150)
diaTrabajado char(2)

Mi consulta es la sisuiente:

SELECT codCliente,(LTRIM(RTRIM(nombre))) as Nombre,diaTrabajado
FROM TrabajoCab
WHERE diaTrabajado between @diaDesde and @diaHasta

Lo consulta me retorna lo siguiente:

codCliente Nombre diaTrabajado
1 Rodrigo 07
1 Rodrigo 09
1 Rodrigo 15

Pero yo necesito presentar esos datos en un gridview de la
siguiente manera:


codCliente Nombre 07 09 15
1 Rodrigo x x x

Es decir necesito presentar una sola vez el nombre y el
código del cliente y los dias que la consulta me retorna
como filas yo las necesito como filas y de alguna
manera colocar la x simulando que esos dias el trabajo.


Otra vez muchas gracias por tu ayuda.
  #4 (permalink)  
Antiguo 08/10/2008, 00:02
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Crear columnas en gridview dinamicamente.

Yo e generado cosas similares, pero me temo que en el SP no se puede, puesto que es dinamico. Como yo lo e generado es en el codigo, en mi caso en el VC++.

En el puedes obtener el nombre y el identificador como campos llaves y con eso revisar si es solo anexarle el # del dia o bien si es un nuevo registro.

Haber si te sirve este ejemplo:

CString sNombreNuevo,sNombreAnterior;
int nIdentificador = 0, nDias = 0;
char cNombre[60]={0};

nIdentificador = Identificador;
cNombre = Nombre;
nDias = Dias Trabajados;

sNombreNuevo.Format("%ld %s",nIdentificador, cNombre);
if( sNombreNuevo != sNombreViejo )
{
sNombreNuevo.Format("%s %ld",sNombreNuevo,nDias);
sNombreViejo.Format("%s", sNombreNuevo);
}
else
{
sNombreNuevo.Format("%s %ld",sNombreNuevo,nDias);
}

Con esto cada que cambie ya sea el nIdentificador o el cNombre ya seran diferentes y empezara de nuevo....

Espero haberte ayudado
  #5 (permalink)  
Antiguo 30/12/2008, 10:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 1
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Crear columnas en gridview dinamicamente.

Cita:
Iniciado por drako_darpan Ver Mensaje
Antes de nada, yo también me encuentro en el mismo problema que rodro, en mi caso la consulta resulatado que obtengo es la siguiente:

NOMBRE HORARIO
---------------------------
Juan 09:00
Juan 11:00
Juan 13:00
Pedro 08:00
Pedro 10:00
Pedro 12:00
... ...
... ...

Pero lo que deseo es poner los resultados de esta consulta en un GridView de manera que aparezcan los datos de esta forma:

NOMBRE HORA1 HORA2 HORA3 ... HORAn
---------------------------------------------------------------------
Juan 09:00 11:00 13:00 ... ...
Pedro 08:00 10:00 12:00 ... ???
... ... ... ... ... ...

Ese es el primer problema, ahora, como se abrán fijado debajo de la columna HORAn en el nombre Pedro están 3 signos de interrogación (???), lo que quiero decir con eso es que el número de horas no es el mismo para cada usuario, por lo que quiero es crear dinámicamente el GridView para que quede de esta manera:

NOMBRE HORA1 HORA2 HORA3
--------------------------------------------------
Juan 09:00 13:00
Pedro 08:00 10:00 12:00
... ... ... ...

Pero el problema no termina ahi, cada uno de las horas debe estar representada por un checkbox de manera que si escojo una o varias de las horas esta información la pueda almacenar en una tabla de mi base de datos...

Se que a lo mejor estoy pidiendo cosas complicadas por favor si alguien puede ayudarme a resolver este problema se lo agradeceré eternamente jejeje, la verdad estoy empezando a desarrollar en Visual Estudio 2005 C# y necesito resolver lo más pronto plissssss help me!!

Por cierto estoy desarrollando en VS 2005 C# con base de datos SQL Server 2000

De antemano gracias.

PD: drako_darpan tu solución está bien para mostrar datos estáticos, pero vale tu aporte...
  #6 (permalink)  
Antiguo 30/12/2008, 11:35
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 9 meses
Puntos: 13
Respuesta: Crear columnas en gridview dinamicamente.

Vas a tener que recorrer por cada nombre la tabla nuevamente buscando los dias y armando una tabla a mano y luego pasarle como datasource de la grilla esta tabla.

Saludos.
  #7 (permalink)  
Antiguo 30/12/2008, 15:36
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Crear columnas en gridview dinamicamente.

hola a todos, soy nuevo en este foro, y tambien nuevo en vb asp.net, quisiera saber como realizar una busqueda de un catalogo de ciudades, al presionar un boton y que en base a mi seleccion regrese el valor a un textbox de antemano muchas gracias
  #8 (permalink)  
Antiguo 04/01/2009, 02:21
Avatar de normandos  
Fecha de Ingreso: diciembre-2001
Mensajes: 216
Antigüedad: 22 años, 4 meses
Puntos: 0
Respuesta: Crear columnas en gridview dinamicamente.

Si en lugar de (LTRIM(RTRIM(nombre))) usaras solo TRIM(nombre)? Creo que sería mas eficiente. Saludos.
__________________
"No importa lo que nos suceda sino cómo reaccionamos ante lo que nos sucede."

Presidente James E. Faust
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:25.