none
probleme avec datapager RRS feed

  • Question

  • bonjour,

    j'ai une listview qui contient un control de pagination datapager.

    le probleme c'est que le passage d'une page à une autre n'est pas fait(<123....>):lorsque je click sur 2,.... je n'ai  pas la page 2...de listview.

    le code:

     

    <asp:DataPager runat="server" ID="BeforeListDataPager"
            PagedControlID="Listview3"
            PageSize="8">
            <Fields>
              <asp:NextPreviousPagerField ButtonType="Image"
                ShowFirstPageButton="true"
                ShowNextPageButton="false"
                ShowPreviousPageButton="false"
                FirstPageImageUrl="~/images/first.gif" />
              <asp:NumericPagerField ButtonCount="10" />
              <asp:NextPreviousPagerField ButtonType="Image"
                ShowLastPageButton="true"
                ShowNextPageButton="false"
                ShowPreviousPageButton="false"
                LastPageImageUrl="~/images/last.gif" />
            </Fields>
          </asp:DataPager>

    mercredi 28 juillet 2010 12:43

Réponses

  • Bonjour,

    Soit une classe Personne :

    public class Personne
    {
      public string Nom
      {
        get;
        set;
      }
    }
    

    Une classe de service métiers contenant une opération permettant de récupérer des Personne :

    public class ServicesMétiers
    {
      public Personne[] GetPersonnes()
      {
        return new Personne[]
        {
          new Personne() { Nom = "PAUL" },
          new Personne() { Nom = "EMILE" },
          new Personne() { Nom = "VICTOR" },
          new Personne() { Nom = "LUC" },
          new Personne() { Nom = "GILLES" }
        };
      }
    }
    

    Voici le contenu d'une page contenant une ListView qui est paginé via un DataPager et utilisant un ObjectDataSource.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication7.Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title></title>
    </head>
    <body>
      <form id="form1" runat="server">
        <div>
          <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="3">
            <Fields>
              <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                ShowNextPageButton="False" ShowPreviousPageButton="False" />
              <asp:NumericPagerField />
              <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" 
                ShowNextPageButton="False" ShowPreviousPageButton="False" />
            </Fields>
          </asp:DataPager>
          <br />
          <asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1">
            <ItemTemplate>
              <%# Eval("Nom") %><br />
            </ItemTemplate>
          </asp:ListView>
      
        </div>
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
          SelectMethod="GetPersonnes" TypeName="WebApplication7.ServicesMétiers">
        </asp:ObjectDataSource>
      </form>
    </body>
    </html>
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse maitoti mercredi 4 août 2010 11:18
    mardi 3 août 2010 20:03
    Modérateur

Toutes les réponses

  • Bonjour,

    Pouvez-vous montrer sur quel DataSource est lié votre ListView ?

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    jeudi 29 juillet 2010 07:12
    Modérateur
  • bonjour,

    Si j'ai bien compris ,j'ai lié mon liste listview avec:

    listview.datasource=busniss.cclsservice.licensec...getwt().values;

    listview.databind();

    merci.

    dimanche 1 août 2010 13:36
  • Bonjour,

    Reliez votre ListView à un ObjectDataSource. L'ObjectDataSource doit utiliser votre classe business. Si votre classe business est trop complexe à manipuler, alors créez tout simplement une nouvelle classe dans votre projet ASP .NET permettant d'utliliser votre classe business.

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    lundi 2 août 2010 22:13
    Modérateur
  • bonjour,

    pouvez vous me donner un exemple ?

    par ce que je ne trouve pas la bonne route.

    merci.

    mardi 3 août 2010 09:44
  • Bonjour,

    Soit une classe Personne :

    public class Personne
    {
      public string Nom
      {
        get;
        set;
      }
    }
    

    Une classe de service métiers contenant une opération permettant de récupérer des Personne :

    public class ServicesMétiers
    {
      public Personne[] GetPersonnes()
      {
        return new Personne[]
        {
          new Personne() { Nom = "PAUL" },
          new Personne() { Nom = "EMILE" },
          new Personne() { Nom = "VICTOR" },
          new Personne() { Nom = "LUC" },
          new Personne() { Nom = "GILLES" }
        };
      }
    }
    

    Voici le contenu d'une page contenant une ListView qui est paginé via un DataPager et utilisant un ObjectDataSource.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication7.Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
      <title></title>
    </head>
    <body>
      <form id="form1" runat="server">
        <div>
          <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1" PageSize="3">
            <Fields>
              <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" 
                ShowNextPageButton="False" ShowPreviousPageButton="False" />
              <asp:NumericPagerField />
              <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" 
                ShowNextPageButton="False" ShowPreviousPageButton="False" />
            </Fields>
          </asp:DataPager>
          <br />
          <asp:ListView ID="ListView1" runat="server" DataSourceID="ObjectDataSource1">
            <ItemTemplate>
              <%# Eval("Nom") %><br />
            </ItemTemplate>
          </asp:ListView>
      
        </div>
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
          SelectMethod="GetPersonnes" TypeName="WebApplication7.ServicesMétiers">
        </asp:ObjectDataSource>
      </form>
    </body>
    </html>
    

    Cordialement


    Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr
    • Marqué comme réponse maitoti mercredi 4 août 2010 11:18
    mardi 3 août 2010 20:03
    Modérateur
  • Bonjour,

     

    Merci à M. Tourreau pour cet exemple.

    Maitoti, je vous prie de confirmer si ces informations vous ont mis sur la bonne voie et si vous avez besoin encore d’assistance.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur une de ces technologies : Visual Basic, C#, C++, .NET, ASP.NET, SQL Server, Silverlight, SharePoint 2010, SharePoint 2007

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Café des usages

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

    mercredi 4 août 2010 08:22