begin process at 2010 03 22 13:21:32
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

ASP.Net

 > DATALIST SUR UN TABLE SQL AVEC PAGINATION (AVEC C#)

DATALIST SUR UN TABLE SQL AVEC PAGINATION (AVEC C#)


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :ASP.Net Niveau :Initié Date de création :26/03/2002 Date de mise à jour :26/03/2002 09:44:00 Vu :10 059

Auteur : seboss

Ecrire un message privé
Site perso
Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

 Description

En ASP c'etait assez facile de faire une page qui afficher 30 enregitrements par page avec en bas de la page des pitit boutton "Precedent" "Suivant" ou "Page1 Page2",etc... D'alleur en ASP, Nix nous a fais un bon code pour faire une pagination !!!! Et en ASP.NET cmt fait-on??? Ben c po tres compliquer !!!! Ca merche dans un WebForm (.aspx) ou un UserControl (.ascx) !!! Le Code est en C# (et non pas en VB.NET !)

Source

  • Puis le code scr C# (ps : il fo appeller la fonction Paging() dans le Page_Load()) :
  • public void Paging()
  • {
  • SqlConnection myConnection = new SqlConnection("server=SERVER;uid=USER;pwd=PASS;database=TABLE");
  • SqlDataAdapter myAdapter = new SqlDataAdapter("select * from news order by id DESC", myConnection);
  • DataSet ds = new DataSet();
  • int startRecord = ( int.Parse( CurrentPageType.Value ) - 1 ) *
  • int.Parse( PageSize.Value );
  • myAdapter.Fill( ds , startRecord , int.Parse( PageSize.Value ) , "News");
  • datalist.DataSource = ds.Tables["News"].DefaultView;
  • datalist.DataBind();
  • SqlCommand myCmd = new SqlCommand( "SELECT Count(*) from news", myConnection );
  • myConnection.Open();
  • TotalSize.Value = myCmd.ExecuteScalar().ToString() ;
  • myConnection.Close();
  • BuildPagers();
  • }
  • public void BuildPagers()
  • {
  • if( ( int.Parse( CurrentPage.Value ) - 1 ) <= 0 )
  • {
  • Prev.Enabled = false;
  • }
  • {
  • Prev.Enabled = true ;
  • }
  • if( ( int.Parse( CurrentPage.Value ) * int.Parse( PageSize.Value ) ) > int.Parse( TotalSize.Value ) )
  • {
  • Next.Enabled = false;
  • }
  • else
  • {
  • NextType.Enabled = true ;
  • }
  • }
  • public void Page_datalist( object sender, EventArgs e )
  • {
  • if( ((LinkButton)sender).ID == "Prev" )
  • {
  • if( ( int.Parse( CurrentPage.Value ) - 1 ) >= 0 )
  • {
  • CurrentPage.Value = ( int.Parse( CurrentPage.Value ) - 1 ).ToString() ;
  • }
  • }
  • else if( ((LinkButton)sender).ID == "Next" )
  • {
  • if( ( int.Parse( CurrentPage.Value ) * int.Parse( PageSize.Value ) ) < int.Parse( TotalSize.Value ) )
  • {
  • CurrentPage.Value = ( int.Parse( CurrentPage.Value ) + 1 ).ToString() ;
  • }
  • }
  • Paging();
  • }
  • Dans le scr HTML :
  • <asp:DataList id="datalist" runat="server" Height="35px" Visible="False">
  • <ItemTemplate>
  • <b><# DataBinder.Eval(Container.DataItem, "titre") %></B>
  • <p><%# DataBinder.Eval(Container.DataItem, "date") %></p>
  • face="Arial, Helvetica, sans-serif" size="-2">
  • <p><%# DataBinder.Eval(Container.DataItem, "news") %></p>
  • </ItemTemplate>
  • </asp:DataList>
  • <INPUT id="PageSize" type="hidden" value="30" name="PageSize" runat="server">
  • <INPUT id="CurrentPage" type="hidden" value="1" name="CurrentPage" runat="server">
  • <INPUT id="TotalSize" type="hidden" name="TotalSize" runat="server">
  • <asp:LinkButton id="Prev" onclick="Page_datalist" runat="server" Visible="False" Text="<< Precedent"><< Precedent</asp:LinkButton>
  • <asp:LinkButton id="Next" onclick="Page_datalist" runat="server" Visible="False" Text="Suivant >>">Suivant >></asp:LinkButton>
Puis le code scr C# (ps : il fo appeller la fonction Paging() dans le Page_Load()) :

public void Paging()
{
SqlConnection myConnection = new SqlConnection("server=SERVER;uid=USER;pwd=PASS;database=TABLE");
SqlDataAdapter myAdapter = new SqlDataAdapter("select * from news order by id DESC", myConnection);

DataSet ds = new DataSet();

int startRecord = ( int.Parse( CurrentPageType.Value ) - 1 ) *
int.Parse( PageSize.Value );

myAdapter.Fill( ds , startRecord , int.Parse( PageSize.Value ) , "News");
 
datalist.DataSource = ds.Tables["News"].DefaultView;
datalist.DataBind();

SqlCommand myCmd = new SqlCommand( "SELECT Count(*) from news", myConnection );
myConnection.Open();

TotalSize.Value = myCmd.ExecuteScalar().ToString() ;
myConnection.Close();
BuildPagers();
}

public void BuildPagers()
{
if( ( int.Parse( CurrentPage.Value ) - 1 ) <= 0 )
  {
     Prev.Enabled = false;
  }

 {
     Prev.Enabled = true ;
 }

if( ( int.Parse( CurrentPage.Value ) * int.Parse( PageSize.Value ) ) > int.Parse( TotalSize.Value ) )
 {
   Next.Enabled = false;
 }
else
 {
   NextType.Enabled = true ;
 }
}
public void Page_datalist( object sender, EventArgs e )
{
 if( ((LinkButton)sender).ID == "Prev" )
  {
    if( ( int.Parse( CurrentPage.Value ) - 1 ) >= 0 )
      {
          CurrentPage.Value = ( int.Parse( CurrentPage.Value ) - 1 ).ToString() ;
      }
   }
else if( ((LinkButton)sender).ID == "Next" )
  {
     if( ( int.Parse( CurrentPage.Value ) * int.Parse( PageSize.Value ) ) < int.Parse( TotalSize.Value ) )
      {
          CurrentPage.Value = ( int.Parse( CurrentPage.Value ) + 1 ).ToString() ;
      }
   }
Paging();
}


Dans le scr HTML :

<asp:DataList id="datalist" runat="server" Height="35px"  Visible="False">
<ItemTemplate>
<b><# DataBinder.Eval(Container.DataItem, "titre") %></B>
<p><%# DataBinder.Eval(Container.DataItem, "date") %></p>
face="Arial, Helvetica, sans-serif" size="-2">
<p><%# DataBinder.Eval(Container.DataItem, "news") %></p>
</ItemTemplate>
</asp:DataList>
<INPUT id="PageSize" type="hidden" value="30" name="PageSize" runat="server">
<INPUT id="CurrentPage" type="hidden" value="1" name="CurrentPage" runat="server">
<INPUT id="TotalSize" type="hidden" name="TotalSize" runat="server">
<asp:LinkButton id="Prev" onclick="Page_datalist" runat="server" Visible="False" Text="<< Precedent"><< Precedent</asp:LinkButton>
<asp:LinkButton id="Next" onclick="Page_datalist" runat="server" Visible="False" Text="Suivant >>">Suivant >></asp:LinkButton> 

 Conclusion

Enfin voila !!! Le rappelle que tout ca a ete ecrit en C#!!! Si vous avez des prb seboss@lestoons.net ou un ptit message sur VBfrance !!! ps : si vous dev en C# g un projet sur VbFrance qui consiste a cree un server web HTTP !!! (nom du projet : ServerSeboss) !!!
Seboss &lt;seboss@lestoons.net&gt;
http://www.lestoons.ne t/
http://www.seboss.fr.st/


 Sources de la même categorie

Source avec Zip Source .NET (Dotnet) UTILISATION DE LA MÉTHODE SORT ET SORTDIRECTION AVEC UN GRID... par jesusonline
Source avec Zip Source .NET (Dotnet) CUSTOM DATEPIKER DÉRIVANT DE COMPOSITECONTROL par fredzool
Source avec Zip UN MODULE POUR APPRENDRE SQL par Elmarzougui
Source avec Zip Source .NET (Dotnet) BOUTON QUI EMPECHE LE MULTI CLIC AVANT LA FIN DU TRAITEMENT.... par fredzool
Source avec Zip Source .NET (Dotnet) BOUTON AVEC CSS ET USERCONTROL WITH EVENT par fredzool

Commentaires et avis

Commentaire de CielDuVanille le 10/11/2008 14:42:59

pas mal

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,749 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales