Estimado, no me a funcionado que me resulte bien la paginacion con el filtro, te envio el codigo que tengo para que me orientes de mejor forma.
Código PHP:
protected void Page_Load(object sender, EventArgs e)
{
Funciones fun = new Funciones();
this.ddl_filtro.AutoPostBack = false;
string sql4 = "SELECT O.NFABRICACION, O.CLIENTE, O.OBRA, O.FECHAREGISTRO, SUM(D.CANTIDADT) AS THERMOPANELES FROM ORDEN AS O INNER JOIN DETALLEORDENT AS D ON O.NFABRICACION = D.NFABRICACION GROUP BY O.NFABRICACION, O.CLIENTE, O.OBRA, O.FECHAREGISTRO";
this.GridView1.DataSource = fun.Llenar(sql4);
this.GridView1.DataBind();
this.GridView1.Visible = true;
if (!Page.IsPostBack)
{
ListItem ddl_Item0 = new ListItem("ORDEN", "ORDEN");
ListItem ddl_Item1 = new ListItem("CLIENTE", "CLIENTE");
this.ddl_filtro.Items.Add(ddl_Item0);
this.ddl_filtro.Items.Add(ddl_Item1);
}
}
protected void btn_buscar_Click(object sender, EventArgs e)
{
Funciones fun = new Funciones();
if (this.txt_parametro.Text == "")
{
this.lbl_mensaje3.Text = "INGRESAR PARAMETRO DE BUSQUEDA";
this.GridView1.Visible = false;
}
else
{
this.filtro = this.ddl_filtro.SelectedItem.Value;
this.parametro = this.txt_parametro.Text;
if (this.filtro == "-1")
{
this.GridView1.Visible = false;
this.lbl_mensaje3.Text = "SELECCIONE UNA BUSQUEDA";
}
else
{
if (this.filtro == "ORDEN")
{
this.sql1 = "SELECT O.NFABRICACION, O.CLIENTE, O.OBRA, O.FECHAREGISTRO, SUM(D.CANTIDADT) AS THERMOPANELES FROM ORDEN AS O INNER JOIN DETALLEORDENT AS D ON O.NFABRICACION = D.NFABRICACION WHERE D.NFABRICACION ='" + parametro + "' GROUP BY O.NFABRICACION, O.CLIENTE, O.OBRA, O.FECHAREGISTRO";
if (fun.tieneregistros(fun.Llenar(sql1)) == false)
{
this.lbl_mensaje3.Text = "NO EXISTE ORDEN EN LOS REGISTROS";
this.GridView1.Visible = false;
}
else
{
this.lbl_mensaje3.Text = "";
this.GridView1.DataSource = fun.Llenar(sql1);
this.GridView1.DataBind();
this.GridView1.Visible = true;
}
}
else
{
if (this.filtro == "CLIENTE")
{
string sql3 = "SELECT D.NFABRICACION, O.FECHAREGISTRO, O.CLIENTE, O.OBRA, SUM(D.CANTIDADT) AS THERMOPANELES FROM ORDEN AS O INNER JOIN DETALLEORDENT AS D ON O.NFABRICACION = D.NFABRICACION WHERE O.CLIENTE = '" + parametro + "' GROUP BY D.NFABRICACION, O.FECHAREGISTRO, O.CLIENTE, O.OBRA";
if (fun.tieneregistros(fun.Llenar(sql3)) == false)
{
this.lbl_mensaje3.Text = "NO EXISTE CLIENTE EN LOS REGISTROS";
this.GridView1.Visible = false;
}
else
{
this.lbl_mensaje3.Text = "";
this.GridView1.DataSource = fun.Llenar(sql3);
this.GridView1.DataBind();
this.GridView1.Visible = true;
}
}
}
}
}
this.txt_parametro.Text = "";
this.ddl_filtro.ClearSelection();
}
protected void ddl_filtro_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.GridView1.PageIndex = e.NewPageIndex;
this.GridView1.DataBind();
}
Adios, gracias.