Hola a todos,
Tengo problemas con mantener el filtro (opción que elijo en un dropdownlist) cuando paso de página en el datagrid. Este es mi código:
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
{
drp_estado.Items.Clear();
string queryString_estado = "select estado,cod_estado from u_estado";
NEGOCIO.Funciones.cargar_dropdownlist(queryString_ estado,drp_estado,"estado","cod_estado"
dtg_incidencias.DataSource=recopilarDatos();
dtg_incidencias.DataBind();
}
}
public DataView recopilarDatos()
{
DataSet dtincidencias=new DataSet();
string sOracleIncidencias="select i.cod_incidencia, i.descripcion, a.nombre,i.fecha_incidencia, o.origen, e.estado from u_origen o, u_incidencia i, u_activo a, u_estado e, u_activo_concreto ac where i.cod_activo_concreto=ac.cod_activo_concreto and ac.cod_activo=a.cod_activo and i.cod_estado=e.cod_estado and i.cod_origen=o.cod_origen";
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
OracleDataAdapter objDA=new OracleDataAdapter(sOracleIncidencias,connection);
objDA.Fill(dtincidencias,"u_incidencia");
DataView dvincidencias=new DataView(dtincidencias.Tables["u_incidencia"]);
return dvincidencias;
}
}
public DataView recopilarDatos_conFiltro()
{
DataSet dtincidencias=new DataSet();
string sOracleIncidencias="select i.cod_incidencia, i.descripcion, a.nombre,i.fecha_incidencia, o.origen, e.estado from u_origen o, u_incidencia i, u_activo a, u_estado e, u_activo_concreto ac where i.cod_activo_concreto=ac.cod_activo_concreto and ac.cod_activo=a.cod_activo and i.cod_estado=e.cod_estado and i.cod_origen=o.cod_origen and e.estado='" + drp_estado.SelectedValue + "'";
using (OracleConnection connection = new OracleConnection(connectionString))
{
connection.Open();
OracleDataAdapter objDA=new OracleDataAdapter(sOracleIncidencias,connection);
objDA.Fill(dtincidencias,"u_incidencia");
DataView dvincidencias=new DataView(dtincidencias.Tables["u_incidencia"]);
return dvincidencias;
}
}
private void dtg_incidencias_PageIndexChanged(object sender, System.Web.UI.WebControls.DataGridPageChangedEvent Args e)
{
dtg_incidencias.CurrentPageIndex=e.NewPageIndex;
dtg_incidencias.DataSource=recopilarDatos();
dtg_incidencias.DataBind();
}
private void drp_estado_SelectedIndexChanged(object sender, System.EventArgs e)
{
dtg_incidencias.DataSource=recopilarDatos_conFiltr o();
dtg_incidencias.DataBind();
}
Alguien puede ayudarme a mantener la opción elegida en el dropdownlist cuando cambio de página y que se mantenga ese filtro también a la hora de visualizar los resultados en el datagrid al cambiar de página.
Muchas gracias