[ASP.NET CSharp][WebForms] Problema com paginação por conta do carregamento de GridView e DropDownList no mesmo Page.PostBack

13/03/2016

0

Seguinte, tenho um gridview que ele precisa estar dentro de um postback para poder executar um update ao selecionar um checkbox. O problema é que tenho um filtro usando um DropDownList, se eu deixar meu PopularGVDuplicatas() dentro do mesmo postback onde os itens são carregados, o filtro não funciona e a paginação também. Se eu deixar o PopularGVDuplicatas() fora do postback o checkbox quando for checado não funciona como deveria. Alguém pode ajudar?

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        ddlFiltro.Items.Insert(0, new ListItem("Somente abertas"));
        ddlFiltro.Items.Insert(1, new ListItem("Já pagas"));
        ddlFiltro.Items.Insert(2, new ListItem("Ambas"));

        PopularGVDuplicatas();
    }
}

public void PopularGVDuplicatas()
{
    MySqlConnection conn = new MySqlConnection(strCon);

    if (ddlFiltro.Text.Equals("Somente abertas"))
    {
        SQL = "consulta";
    }
    else if (ddlFiltro.Text.Equals("Já pagas"))
    {
        SQL = "consulta";
    }
    else if (ddlFiltro.Text.Equals("Ambas"))
    {
        SQL = "consulta";
    }
    else
    {
        SQL = "consulta";
    }

    MySqlDataAdapter adapter = new MySqlDataAdapter(SQL, conn);
    DataTable dt = new DataTable();

    conn.Open();
    if (conn.State == System.Data.ConnectionState.Open)
    {
        adapter.Fill(dt);
    }

    gvDuplicatas.AllowPaging = true;
    gvDuplicatas.PageSize = 100;
    gvDuplicatas.PagerSettings.Position = PagerPosition.TopAndBottom;
    gvDuplicatas.PagerSettings.Mode = PagerButtons.NumericFirstLast;
    gvDuplicatas.PagerSettings.PageButtonCount = 50;

    gvDuplicatas.PagerStyle.CssClass = "pagination-ys";
    gvDuplicatas.PagerStyle.HorizontalAlign = HorizontalAlign.Center;

    gvDuplicatas.DataSource = dt;
    gvDuplicatas.DataBind();

}

protected void gvDuplicatas_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
    gvDuplicatas.PageIndex = e.NewPageIndex;
    gvDuplicatas.SelectedIndex = -1;

    PopularGVDuplicatas();
}


Agradeço quem puder colaborar.
Pedro Avelino

Pedro Avelino

Responder

Post mais votado

14/03/2016

Se vc colocar apenas o dropdownlist no textchanged e atopostback = true ;

Luiz Mozart

Luiz Mozart
Responder

Mais Posts

14/03/2016

Pedro Avelino

Deu certo Luiz Mozart! Muito obrigado! Coloquei o PopularGVDuplicatas() dentro do TextChanged e funcionou. Muito obrigado novamente!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar