protected void btn_filtrar_Click(object sender, EventArgs e)
        {
            try
            {
                int?  idp   = null;
                int?  idmp  = null;
                float?desde = null;
                float?hasta = null;


                if (combo_proveedores.Items.FindByText("Sin selección").Selected == false)
                {
                    idp = Convert.ToInt16(combo_proveedores.SelectedValue);
                }

                if (combo_mp.Items.FindByText("Sin selección").Selected == false)
                {
                    idmp = Convert.ToInt16(combo_mp.SelectedValue);
                }


                if (txt_desde.Text != "")
                {
                    desde = float.Parse(txt_desde.Text);
                }


                if (txt_hasta.Text != "")
                {
                    hasta = float.Parse(txt_hasta.Text);
                }


                if (desde > hasta)
                {
                    hasta = null;
                    desde = null;
                }
                List <Compra> lista_compras = GestorInformeCompras.listarCompras(idp, idmp, desde, hasta);
                grillaCompras.DataSource = null;
                grillaCompras.DataSource = lista_compras;
                string[] keys = new string[] { "Id" };
                grillaCompras.DataKeyNames = keys;
                grillaCompras.DataBind();
                grillaDetalleCompras.DataSource = null;
                grillaDetalleCompras.DataBind();
            }
            catch (ApplicationException ex)
            {
                lbl_error_.Text    = "Ha surgido un error inesperado, contacte a su administrador";
                lbl_error_.Visible = true;
            }
        }