Après avoir lu quelques articles à ce sujet, j'ai beaucoup appris et je souhaite maintenant le partager avec vous tous.
Flash n'est plus qu'une fonction d'affichage. Au cours du processus, j'ai lu les informations d'autres personnes et j'ai senti que la pagination semblait être un moyen très simple de l'implémenter.
Fondamentalement, il est transmis en utilisant XML.
Les composants de liste et la grille de données peuvent être utilisés pour l'affichage. J'utilise du texte dynamique ici car je pense qu'il est trop difficile d'utiliser des composants.
Alors j'ai utilisé une méthode stupide, il n'y avait pas d'autre moyen, je n'ai pas pu en trouver une meilleure~~~
La liste[..] dans le code ci-dessous est le nom du texte dynamique et 15 éléments sont affichés à la fois.
//Le programme d'affichage est le suivant :
//Nom du frame "list"
arrêt();
var liste de journaux = new XML();
var logroot;
var page:Numéro; //Page actuelle
var Tpage:Number; //Enregistre la page totale
var Tnum:Number; //Nombre total de journaux
var logname:String; //Nom de la catégorie de journal
vartemp;
var i:Number;
//Ici, j'utilise un tableau pour stocker le numéro d'identification correspondant. Si vous utilisez des composants, vous n'avez pas à être aussi gênant.
var ids = new Array(15);
//Deux boutons pour tourner les pages
bn_u.enabled = faux ;
bn_d.enabled = faux ;
si (page == null ou page<1) {
page = 1 ;
}
//-----------------------------
//Effacer la fonction ;
fonction myclear() {
pour (i=1; i<16; i++) {
identifiants[i-1] = 0 ;
list["lbn"+i]._visible = false;
liste["ltitre"+i].text = "";
liste["lauteur"+i] = "";
liste["ltime"+i] = "";
}
}
//---------------------------------------------
//---------------------------------------------
monclear();
pageInfo.text = "Lecture des données...";
logList.ignoreWhite = true ;
logList.load("Tree_list.asp?log_cat="+cat_id+"&page="+page);
//------------------------------------------------
//obtenir la fonction de données
fonction logFunc(e) {
si (e) {
logroot = logList.firstChild ;
nom du journal = logroot.attributes.logname ;
Tpage = logroot.attributes.Tpage;
Tnum = logroot.attributes.Tnum ;
temp = logroot.firstChild;
list.ltitle1.text = Ftitle(temp.firstChild.nodeValue, 22);
list.lauthor1 = temp.attributes.author;
list.ltime1 = temp.attributes.Addtime ;
ids[0] = temp.attributes.id;
je = 1 ;
list.lbn1._visible = vrai;
//Boucle pour lire les nœuds
while (temp.nextSibling != null) {
temp = temp.nextSibling;
je++;
// S'il est affiché d'une autre manière, changez-le simplement.
ids[i-1] = temp.attributes.id;
list["lbn"+i]._visible = true;
list["ltitle"+i].text = Ftitle(temp.firstChild.nodeValue, 22);
list["lauthor"+i] = temp.attributes.author;
list["ltime"+i] = temp.attributes.Addtime;
}
pageInfo.text = logname+"Total des journaux"+Tnum+"Total des articles"+Tpage+"La page actuelle est "+page+"page"+"15/page" ;
bn_u.enabled = vrai ;
bn_d.enabled = vrai ;
} autre {
pageInfo.text = "Il n'y a actuellement aucun journal.";
list.ltitle1.text = "Erreur de lecture des données, veuillez contacter l'administrateur !";
}
}
//Une fonction de titre au format personnalisé, craignant que le titre soit trop long
fonction Ftitre(s, n) {
si (longueur(s)>n) {
s = s.substring(0, n-1)+"...";
}
retourner s ;
}
logList.onLoad = logFunc ;
//---------------------------------------------------
//Action du bouton
Bn_up = nouvel objet ();
//Événement Button, détermine si la taille de la page dépasse la valeur
Bn_up.click = fonction(evt) {
si (page>1) {
_root.page--;
gotoAndPlay("cycle");
} autre {
arrêt();
}
} ;
Bn_d = nouvel Objet();
Bn_d.click = fonction (evt) {
si (page<Tpage) {
_root.page++;
gotoAndPlay("cycle");
} autre {
arrêt();
}
} ;
bn_u.addEventListener("clic", Bn_up);
bn_d.addEventListener("click", Bn_d);
Il n'y a qu'un seul mot pour "cycle" :
gotoAndPlay("liste");
//Former une boucle simple
Tree_list.asp :
//log est ma table de journal, log_cat est l'asp sous la table de classification. C'est très clair
<?xml version="1.0" encoding="gb2312"?>
<%
Réponse.ContentType = "texte/xml"
Response.CacheControl = "pas de cache"
Response.AddHeader "Pragma", "sans cache"
Réponse.Expire = 0
dim log_cat,page,pageSize,Tnum,Tpage,log_name
page=TreeRequest("page",1)
log_cat=TreeRequest("log_cat",1)
taille de la page = 15
appelTree_rs
si log_cat=0 ou log_cat="" alors
sql="select * from log order by written_time DESC,log_ID DESC"
autre
sql="select * from log,log_cat où log.cat_id=log_cat.ID et cat_id="&log_cat&" ordre par writing_time DESC,log_ID DESC"
Terminer si
rs.open sql, conn, 1,1
rs.PageSize=pageSize
Tnum=rs.RecordCount
Tpage=Int(Tnum/pageSize*-1)*-1
si page="" alors page=1
si Tnum<>0 alors rs.AbsolutePage=page
si log_cat=0 ou log_cat="" alors
log_name="[toutes les catégories]"
autre
log_name="["&rs("cat_name")&"]"
Terminer si
'Le fichier XML de sortie suivant
'------------------------------------------------
réponse.write("<Tree logname='"&log_name&"' Tnum='"&Tnum&"' Tpage='"&Tpage&"'>")
si rs.eof alors
rs.fermer
autre
faire sans rs.eof et pageSize>0
réponse.write("<Trees author='"&rs("log_author")&"' Addtime='"&rs("writing_time")&"' id='"&rs("log_ID")&"'>")
réponse.write("<![CDATA["&rs("log_tittle")&"]]></Trees>")
pageSize=pageSize-1
rs.movenext
boucle
rs.fermer
Terminer si
//Ferme rs
callTree_rsclose
callTree_conclose
réponse.write("</Tree>")
%>
Le code semble très compliqué. J'espère qu'il pourra être utile aux amis qui font cela. S'il y a des bugs dans ce qui précède, dites-le-moi
. Source : www.flashbank.cn.