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!