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

sigo teniendo problemas con datagrid

Estas en el tema de sigo teniendo problemas con datagrid en el foro de .NET en Foros del Web. Hola a todos espero que esten bien. ok tengo el siguiente problema , tengo un datagrid que lleno segun los datos si quiero ver todos ...
  #1 (permalink)  
Antiguo 09/02/2005, 10:34
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 20 años, 2 meses
Puntos: 0
sigo teniendo problemas con datagrid

Hola a todos espero que esten bien.

ok tengo el siguiente problema , tengo un datagrid que lleno segun los datos si quiero ver todos mis resgistros o alguno datos filtrados, dependiendo se llena el grid.

Para darle un poquito de presentacion las columnas permiten la ordenacion, ahora tengo un boton llamado "imprimir", al cual al darle click quiero que me imprima es decir me manda a otra pagina que me muestra los datos como se van a imprimir lo que tengo en ese momento en el grid ya sean todos los datos o solo los filtrados.
ok cuando le doy click me muestra los datos bien, pero si por ejemplo yo los ordene antes de darle click, no me respeta la ordenacion.

tengo el siguiente codigo. ya he probado con el Dataview.

esto lo tengo en el load de la pagina donde por medio de la variable de aplicacion veo de que pagina vengo y asi saber si son datos filtrados o no.
datosFiltrados viene de otra pagina y esta como propiedad

bool resp = (bool)(Application["valor"]);
if (resp == true)
{
if (!IsPostBack)
{
tabla = (DataTable)Odatagrid.Consultar ();
gridPrepropuesta.DataSource = tabla;
gridPrepropuesta.DataBind ();
}
else
{
if (!IsPostBack)
{
tabla2 = pag.tablaDatosFiltrados ;
gridPrepropuesta.DataSource = tabla2;
gridPrepropuesta.DataBind ();
}

ok en el metodo de la ordenacion
if (resp == true)
{
tabla = (DataTable)Odatagrid.Consultar ();
DataView dv = new DataView (tabla);
dv.Sort = e.SortExpression;
gridPrepropuesta.DataSource = dv;
gridPrepropuesta.DataBind();
nomColumna = dv.Sort ;
}
else
{
tabla2 = pag.tablaDatosFiltrados;
DataView dv2 = new DataView (tabla2);
dv2.Sort = e.SortExpression;
gridPrepropuesta.DataSource = dv2;
gridPrepropuesta.DataBind();
nomColumna = dv2.Sort ;
}

ok ahora mando los datos a la otra pagina de esta manera:
public static DataTable datosFiltrados
{
get
{
return tabla2;
}
}
public static DataTable datosNoFiltrados
{
get
{
return tabla;
}
}

Como puedo hacer para que me respeta la ordenacion?
Gracias de antemano
buen dia y bye!
__________________
grissss :Zzz:
  #2 (permalink)  
Antiguo 09/02/2005, 10:44
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años, 1 mes
Puntos: 50
Porque no le pasa el parámetro a tu segunda página la ordenacion en que se quedó.

Y recoges el valor y se lo das al dataview.

Salu2 y cualquier cosa por aqui andamos
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 09/02/2005, 17:57
Avatar de neivan  
Fecha de Ingreso: febrero-2005
Mensajes: 539
Antigüedad: 20 años, 1 mes
Puntos: 1
esto es como cdo haces paginacion y ordenacion a la vez

Lo ordenas por nombre y luego pasas de pagina el datagrid cdo tienes varios registros por pagina y si no tenias almacenado en algun sitio como kedo la ordenacion pa volversela a asignar la pierdes

Yo utilizo un variable de ssion siempre para el dv con datagrid y si juegas con varias paginas las variables de session son una bueno solucion
  #4 (permalink)  
Antiguo 17/02/2005, 14:34
Avatar de grisel  
Fecha de Ingreso: diciembre-2004
Ubicación: Mexico
Mensajes: 215
Antigüedad: 20 años, 2 meses
Puntos: 0
ok

Pues si tuve que guardar en una variable el parametro de ordenacion y lo pase a la pagina de impresion lo asigne el la propiedad del dataview dv.Sort yasi como me lo comento Rootk. y pues veran si me funciono.

Gracias chicos.
saludos y bye!
__________________
grissss :Zzz:
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:15.