none
Paginar a DataList RRS feed

  • Pergunta

  • Ola pessoal quero paginar a minha Datalist usado o  SQLDataSorce1 encontrei  um arquivo na que achei legal só que esta a me retornar Erro...podem me ajudar a corrigir 
     O erro é o seguinte...

    Both DataSource and DataSourceID are defined on 'DataList1'.  Remove one definition.

    Line 34:             DataList1.DataBind();


    O
    Código que estou a usar é o Seguinte...

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    namespace LivroVideoForumVirtual
    {
        public partial class testDatalistPaginar : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                GetData();
            }
    
    
            private void GetData()
            {
              
                PagedDataSource pgds = new PagedDataSource();
                pgds.AllowPaging = true; //Seta paginação no PagedDataSource 
    
    
               pgds.DataSource = SqlDataSource1.Select(DataSourceSelectArguments.Empty);//Substituindo 
    
                pgds.PageSize = 5; //Número de registros por página 
    
                pgds.CurrentPageIndex = PaginaAtual; //Seta a página atual 
    
                DataList1.DataSource = pgds; //Setando o objeto como data source do DataList 
                DataList1.DataBind();
             
             
            }
    
    
            public int PaginaAtual //Propriedade da página atual, colocada no viewstate 
            {
                get
                {
                    object o = this.ViewState["PaginaAtual"];
                    if (o == null || (int)o < 0)
                        return 0;
                    else
                        return (int)o;
                }
    
                set
                {
                    this.ViewState["PaginaAtual"] = value;
                }
            } 
    
    
            protected void btnPrev_Click(object sender, EventArgs e)
            {
                PaginaAtual--;
                GetData();
    
            }
    
            protected void btnNext_Click(object sender, EventArgs e)
            {
                
                PaginaAtual++;
                GetData(); 
            }
    
            protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
            {
    
            }
    
            protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
            {
    
            }
        }
    }
    O ajudam-me  please...
    se possível sejam,o + detalhados possível porque sou novo em Programação....


    danilo marques


    sexta-feira, 24 de agosto de 2012 14:55

Respostas

Todas as Respostas

  • Veja se no aspx vc definiu para o DataList a propriedade DataSourceID, tente remove-la.

    Tucão vc poderia postar o seu código aspx?


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    sexta-feira, 24 de agosto de 2012 16:30
  • Eu não posso Remover O valor do ID da minha DataList porque ele esta a ser usado...

    Aqui Esta O código da minha DataList...

    <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" 
                onselectedindexchanged="DataList1_SelectedIndexChanged">
                <ItemTemplate>
                    titulo:
                    <asp:Label ID="tituloLabel" runat="server" Text='<%# Eval("titulo") %>' />
                    <br />
                    descLivro:
                    <asp:Label ID="descLivroLabel" runat="server" Text='<%# Eval("descLivro") %>' />
                    <br />
                    autor:
                    <asp:Label ID="autorLabel" runat="server" Text='<%# Eval("autor") %>' />
                    <br />
                    capaLivro:
                    <asp:Label ID="capaLivroLabel" runat="server" Text='<%# Eval("capaLivro") %>' />
                    <br />
                    livro:
                    <asp:Label ID="livroLabel" runat="server" Text='<%# Eval("livro") %>' />
                    <br />
    <br />
                </ItemTemplate>
            </asp:DataList>



    danilo marques

    sexta-feira, 24 de agosto de 2012 19:25

  • Eu não tenho certeza, mas pode ser por isso que ta dando esse erro, pq vc ta definindo duas fontes de dados para controle, e na hora de dar o DataBind ele ta se perdendo...

    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    sexta-feira, 24 de agosto de 2012 19:59
  • Amigam não consegui ti perceber....

    danilo marques

    sexta-feira, 24 de agosto de 2012 20:52
  • Então tuco, assim, vc esta definindo duas fonte de dados da grid, a primeira na sua View(Aspx) com a propriedade DataSourceID, e a outra no código

      DataList1.DataSource = pgds; //Setando o objeto como data source do DataList 
      DataList1.DataBind();

    quando vc da o DataBind, qual das fontes de dados ele vai usar?

    Vc tentou remover o DataSourceID, viu se funciona?


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    sábado, 25 de agosto de 2012 17:09
  • Veja se no aspx vc definiu para o DataList a propriedade DataSourceID, tente remove-la.

    Tucão vc poderia postar o seu código aspx?


    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    Irmão já consegui resolver Tinha mesmo que Remover O  Valor do DataSourceID da minha DATALISt...
    + Obrigado pela ajuda....
    Valeu...

    danilo marques

    domingo, 26 de agosto de 2012 05:01
  • Que blz tucão, quando precisar estamos ae!!!

    Se a resposta foi útil por favor qualifique! Janderson Candido de Mattos - MCTS

    domingo, 26 de agosto de 2012 12:21