Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 548409
            [titulo] => [ASP.NET CSharp][WebForms] Problema com paginação por conta do carregamento de GridView e DropDownList no mesmo Page.PostBack
            [dataCadastro] => DateTime Object
                (
                    [date] => 2016-03-14 11:36:24
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 480418
            [status] => A
            [isExample] => 
            [NomeUsuario] => Luiz Mozart
            [Apelido] => 
            [Foto] => 
            [Conteudo] => Se vc colocar apenas o dropdownlist no textchanged e atopostback = true ;
        )

)

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

Pedroigor91
   - 13 mar 2016

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?
#Código

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.

Post mais votado

Luiz Mozart
   - 14 mar 2016

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

Pedroigor91
   - 14 mar 2016

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