PageIndexChanging c#

alfinete

Power Member
codigo c#

Código:
  #region eventos

        protected void Page_Load(object sender, EventArgs e)
        {
           
          loaddados();
                  
        }

        #endregion

        #region metodos

        private void loaddados()
        {
            Dados d = new Dados();

            //chama o dataset e preenche a grid dos socios

            this.Gridfilmes.DataSource = d.Listafilmes();
            this.Gridfilmes.DataBind();


        }
   
       // passa para a proxima page
        protected void Gridfilmes_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            Gridfilmes.PageIndex = e.NewPageIndex;
            Gridfilmes.DataBind();

        }




codigo da gridview

Código:
 <asp:GridView ID="Gridfilmes" runat="server" BackColor="White" BorderColor="#999999"
            BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" 
            AllowPaging="True" PageSize="2"
            OnPageIndexChanging="Gridfilmes_PageIndexChanging" >
            <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
            <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
            <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="Gainsboro" />
        </asp:GridView>




tal como visto

em

Código:
AllowPaging="True" PageSize="2"

tenho o paging a activado e para 2 a 2 regs

a tabela tem 3, mas quando passo para a 2 page ele não mostra o reg 3

não sei pq

agradecia uma ajuda
 
Código:
  protected void Gridfilmes_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
           
           
                Gridfilmes.PageIndex = e.NewPageIndex + 1;
                Gridfilmes.DataBind();
   }

assim ja passa ao reg seguinte, mas não estou a ver como posso fazer para ele detectar em qual esta e quando se clica num anterior ele volta a esse

agradecia um help
 
solução

Código:
  protected void Page_Load(object sender, EventArgs e)
        {
            Dados d = new Dados();
            if (!IsPostBack)
            {
                Gridfilmes.DataSource = d.Listafilmes ();
                loaddados();
            }
                  
        }

  protected void Gridfilmes_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            Dados d = new Dados();
            Gridfilmes.PageIndex = e.NewPageIndex;
            Gridfilmes.DataSource = d.Listafilmes() ;
            Gridfilmes.DataBind();
        }

como devem perceber quer no load quer no pageindexchanged

temos de chamar o datasource

por isso instaciei a minha classe dados atraves do objecto d , e chamei o metodo que faz isso

resolvido
 
Back
Topo