Foros del Web » Programación para mayores de 30 ;) » .NET »

Fecha y tamaño columnas en un datagrid

Estas en el tema de Fecha y tamaño columnas en un datagrid en el foro de .NET en Foros del Web. Hola! Os comento mi problema: Estoy realizando una aplicación web en VB donde tengo que realizar una consulta a una base de datos SQL Server ...
  #1 (permalink)  
Antiguo 20/05/2004, 05:42
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Fecha y tamaño columnas en un datagrid

Hola!
Os comento mi problema: Estoy realizando una aplicación web en VB donde tengo que realizar una consulta a una base de datos SQL Server y entre los campos que tengo que obtener hay algunos de tipo fecha (datetime en SQL Server), cuando voy a presentar estos datos en un datagrid me salen tanto la fecha como la hora ¿cómo podría quitar la hora?, es decir, que por ejemplo me sale "16/04/2004 0:00:00" y yo sólo necesito "16/04/2004"

Por otro lado me gustaría poder asignar a las columnas un tamaño fijo porque cuando cambio de página en el datagrid u ordeno los registros las columnas se ajustan al tamaño de la información que hay en cada momento y queda un poco mal ¿alguna idea?


A ver si alguien puede echarme una mano. Saludos!
  #2 (permalink)  
Antiguo 20/05/2004, 08:23
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
¿cómo podría quitar la hora?, es decir, que por ejemplo me sale "16/04/2004 0:00:00" y yo sólo necesito "16/04/2004"
Hola..en el control donde mandes a llamar tu campo que tienes en tu BD puedes usar Eval..Supongamos que quieres mostrar los datos en un label y quieres que la fecha aparezca en el formato
dia/mes/año

Te podría quedar así:
<asp:datagrid id="dtgOrders" runat="server">
...
...
<asp:TemplateColumn HeaderText="Customer ID">
<ItemStyle HorizontalAlign="Left"></ItemStyle>
<ItemTemplate>
<asp:Label id="lblOrderDate" runat="server" Text='<%# DataBinder.Eval (Container, "DataItem.TU_campo", "{0:dd/MM/yyyy}") %>'>
</asp:Label>
</ItemTemplate>
...
...

Ahora bien.. si lo estas haciendo usando un BoundColumn te quedaría:

Cita:
<asp:BoundColumn DataField="DateEntered" HeaderText="Fecha" DataFormatString ="{0:dd/MM/yyyy}" />


Cita:
Por otro lado me gustaría poder asignar a las columnas un tamaño fijo
Checa la propiedad

ItemStyle-Width = "valor%"


Saludos y suerte . . .
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 20/05/2004, 08:48
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
Gracias Rootk, lo del DataFormatString me funciona perfecto pero sigo teniendo problemas para darle el tamaño a las columnas del grid, ItemStyle-Width ya lo había probado y más o menos funciona pero si el contenido es demasiado grande la columna se ensancha, me explico, si tengo la cadena "Aaaaa" la columna mantiene el tamaño, pero si tengo "Aaaaaaaaaaaa" la columna se ensancha para que todo pueda entrar.
Lo que intento es que si el contenido es demasiado grande lo ponga en varias lineas o simplemente se vea sólo la parte que cabe con ese tamaño de columna........... Arg, no me entiendo ni yo

Saludos!
  #4 (permalink)  
Antiguo 20/05/2004, 09:41
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Cita:
la columna mantiene el tamaño, pero si tengo "Aaaaaaaaaaaa" la columna se ensancha para que todo pueda entrar.
Me temo que en esos casos las columnas no se pueden controlar directamente ya que a fin de cuentas un datagrid es una tabla html y cuando el texto es mayor al tamaño de la columna y ésta no tiene espacios (para dividir la palabra) se ensancha automaticamente

O si alguien ha hecho un datagrid con celdas fijas aunque el texto sea muy grande me gustaría saberlo.

Saludos
  #5 (permalink)  
Antiguo 20/05/2004, 10:15
 
Fecha de Ingreso: marzo-2004
Ubicación: Valencia
Mensajes: 367
Antigüedad: 20 años, 1 mes
Puntos: 1
De acuerdo, gracias por la información, así no me caliento más la cabeza buscando

Saludos!
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 16:49.