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

DataGrid ancho columna y posición seleccionada

Estas en el tema de DataGrid ancho columna y posición seleccionada en el foro de ASPX (.net) en Foros del Web. Hola de nuevo. Estoy trabajando con un datagrid bastante largo y me han surgido dos problemas. Al ser tan largo y por requisitos de la ...
  #1 (permalink)  
Antiguo 09/07/2008, 00:41
 
Fecha de Ingreso: diciembre-2007
Mensajes: 100
Antigüedad: 16 años, 4 meses
Puntos: 0
DataGrid ancho columna y posición seleccionada

Hola de nuevo.

Estoy trabajando con un datagrid bastante largo y me han surgido dos problemas.

Al ser tan largo y por requisitos de la aplicación no poder paginarlo, he decidido meterlo en un div con scroll de manera que cuando supera la altura del div comienza el Scrol lo cual da bastante flexibilidad para leer los datos de arriba a abajo pero me surge con esto un problema: Al seleccionar una fila la página se refresca para marcarla como seleccionada claro, el scro del div vuelve al principio. Por lo que el usuario tiene que bajar el scrol de nuevo hasta ver la fila marcada.

¿Conoceis alguna forma de que al refrescar la página el scroll se mantenga donde estaba antes del Postback?


Por otro lado, tengo el problema de que también es bastante ancho. Quiero que algunas columnas sean editables, para ello utilizo la propiedad del datagrid que al clicar en Editar convierte las columans seleccionadas en TextBox y luego programando hacer el Update. El problema con esto me surge en que al poner la fila para editarla me aumenta el tamaño de las fuentes demasiado.

¿Es posible definir el estilo de la fila que se está editando para queno aumente las fuentes?

Cualquier sugerencia es bienvenida

Un saludo y gracias
  #2 (permalink)  
Antiguo 09/07/2008, 02:04
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: DataGrid ancho columna y posición seleccionada

Hay un control que yo uso para ASP.NET 1.1 que es StaticPostBackPosition.dll que conserva la posición de la página en los postback. Es muy sencillo: se coge el control y se arrastra a la página y ya está.

Respecto a tu 2ª pregunta, al definir el datagrid le dices que estilo en css para el modo edicion. pe:

<asp:datagrid id="DataGrid1" runat="server">
<SelectedItemStyle CssClass="grid_elto_seleccionado"></SelectedItemStyle>
<EditItemStyle CssClass="grid_elto_edit"></EditItemStyle>
<AlternatingItemStyle CssClass="grid_elto_alternating"></AlternatingItemStyle>
<ItemStyle CssClass="grid_elto_item"></ItemStyle>
<HeaderStyle CssClass="grid_header"></HeaderStyle>
<FooterStyle CssClass="grid_footer" VerticalAlign="Top"></FooterStyle>
<Columns>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Objetivos">
<ItemTemplate>
<%# DataBinder.Eval(Container, "DataItem.NombreObj") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="TextBox1" TextMode="MultiLine" Columns="55" Rows="2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.NombreObj") %>' CssClass="miTextBoxeditscroll"></asp:TextBox>
</EditItemTemplate>
............
</Columns>
</asp:datagrid>
  #3 (permalink)  
Antiguo 09/07/2008, 04:10
 
Fecha de Ingreso: diciembre-2007
Mensajes: 100
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: DataGrid ancho columna y posición seleccionada

Hola de nuevo.

Muchas gracias por tu respuesta. El problema de los estilos del Datagrid a la hora de editar lo he resuelto con la propiedad que me has indicado.

Sigo teniendo problemas con mantener el scroll a la hora de hacer postback. Estoy utilizando ASP.NET 2. En Visual Studio 2005 no me aparece el control que me indicas. Buscando por internet he encontrado esa dll, la he añadido a mi directorio bin y despues la he referenciado. Después he añadido las etiquetas que corresponen según he leido (supongo que en el fondo es hacer de manera manual lo mismo que si arrastrase el contro), son las siguietnes

Código:
<%@ Register TagPrefix="jlc" Namespace="JLovell.WebControls"Assembly="StaticPostBackPosition" %>

<jlc:StaticPostBackPosition ID="StaticPostBackPosition1" runat="server"/>
No me subraya nada en rojo y al darle a Rebuild tampoco indica ningún error pero al ajecutar no funciona, los scrol de la página vuelven al principio.

Tabién he leido que en ASP.NET 2 se puede hacer todo simplemente incluyendo la propiedad MaintainScrollPositionOnPostBack="true" en la etiqueta
Código:
<%@ Page Language="VB" MaintainScrollPositionOnPostBack="true" AutoEventWireup="false" CodeFile="Panel.aspx.vb" Inherits="Panel" title="Untitled Page" %>
Pero sigue sin funcionarme.

Sabes si hago algo mal o me salto algun paso?? Alguna sugerencia? Muchas graciass
  #4 (permalink)  
Antiguo 09/07/2008, 06:24
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 3
Respuesta: DataGrid ancho columna y posición seleccionada

Echa un vistazo a la siguiente página (lo explica en detalle):
http://aspalliance.com/356_Keeping_S...ver_post_Backs


Si no controlas mucho inglés te lo explico muy resumido:
Es un control de 0 euros que te lo puedes bajar gratis de http://aspalliance.com/jlovell/artic...ion/source.zip

El fichero que se llama StaticPostBackPosition.dll.

En la barra de herramientas de los webcontrols, añadir la .dll (botón derecho, agregar o quitar nuevos elementos, examinar y buscar esa dll que te has descargado). Tambine Colocala en la carpeta BIN del servidor

Arrastra el nuevo control en la página y VUALA, ya está. Yo lo llevo usando un par de años y todo perfecto.
  #5 (permalink)  
Antiguo 10/07/2008, 23:31
 
Fecha de Ingreso: diciembre-2007
Mensajes: 100
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: DataGrid ancho columna y posición seleccionada

Hola de nuevo,
Siento responder tan tarde pero he andado algo liado con otras cosas.... el caso es que es precisamente de la página que me indicas de donde bajé el control. Sigo todos los pasos pero sigue sin funcionar. Lo qu hago es exactamente lo siguiente:

1) Guardar la dll en el directorio Bin de mi aplicación.
2) Boton derecho sobre componentes y agrego la dll que había dejado en Bin.
3) Arrastro el componente dentro del <body> de mi página aspx.

No funciona....

En mi aplicación utilizo una MasterPage común a todas las páginas. He probado a añadir el control directamente en la Master, en los Content Holders del resto de páginas ... etc

¿Tngo que copiar la dll en algún otro directorio a parte del Bin de mi aplicación?

Muchas gracias una vez más
  #6 (permalink)  
Antiguo 01/09/2008, 13:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 7
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: DataGrid ancho columna y posición seleccionada

La dll StaticPostBackPosition.dll. funciona en net 2???????????????
  #7 (permalink)  
Antiguo 01/09/2008, 15:50
 
Fecha de Ingreso: diciembre-2007
Mensajes: 100
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: DataGrid ancho columna y posición seleccionada

Pues la verdad, no lo sé. Si no funcionase debería dar algún error al compilar pero no es así. En cualquier caso después de todo este tiempo no he conseguido que funcione.

Si alguien puede dar alguna otra alternativa le estaria muy agradecido.

Un Saludo a tod@s
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 14:46.