begin process at 2012 02 14 05:23:37
  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 :11 712

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) GUESTBOOK AVEC GRIDVIEW par DanMor498
Source avec Zip CHECKED DROPDOWNLIST par fredzool
Source avec Zip Source avec une capture Source .NET (Dotnet) GRIDVIEW WITH TREEVIEW AND CALLBACK par fredzool
Source avec Zip APPELLER UN WEBSERVICE DEPUIS JAVASCRIPT par fredzool
Source avec Zip Source .NET (Dotnet) MONEY TEXTBOX WITH EMBEDED JAVASCRIPT par fredzool

Commentaires et avis

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

pas mal

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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,343 sec (4)

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