Nachdem ich einige Beiträge darüber gelesen habe, habe ich viel gelernt und möchte es nun mit euch allen teilen.
Flash ist jetzt nur noch eine Anzeigefunktion. Während des Prozesses habe ich die Beiträge einiger anderer Leute gelesen und festgestellt, dass Paging eine sehr einfache Möglichkeit zu sein scheint, dies zu implementieren.
Grundsätzlich erfolgt die Übertragung per XML.
Für die Anzeige können sowohl Listenkomponenten als auch Datagrid verwendet werden. Ich verwende hier dynamischen Text, da die Verwendung von Komponenten meiner Meinung nach zu aufwändig ist.
Also habe ich eine dumme Methode verwendet, es gab keine andere Möglichkeit, ich konnte keine bessere finden~~~
Die Liste[..] im folgenden Code ist der Name des dynamischen Textes und es werden jeweils 15 Elemente angezeigt.
//Das Anzeigeprogramm lautet wie folgt:
//Framename „list“
stoppen();
var logList = new XML();
var logroot;
var page:Number; //Aktuelle Seite
var Tpage:Number; //Speichern Sie die gesamte Seite
var Tnum:Number; //Gesamtzahl der Protokolle
var logname:String; //Name der Protokollkategorie
vartemp;
var i:Number;
//Hier verwende ich ein Array, um die entsprechende ID-Nummer zu speichern. Wenn Sie Komponenten verwenden, müssen Sie sich nicht so viele Mühe geben.
var ids = new Array(15);
//Zwei Schaltflächen zum Umblättern
bn_u.enabled = false;
bn_d.enabled = false;
if (page == null oder page<1) {
Seite = 1;
}
//---------------
//Funktion löschen;
Funktion myclear() {
für (i=1; i<16; i++) {
ids[i-1] = 0;
list["lbn"+i]._visible = false;
list["ltitle"+i].text = "";
list["lauthor"+i] = "";
list["ltime"+i] = "";
}
}
//-------------
//-------------
myclear();
pageInfo.text = "Daten werden gelesen...";
logList.ignoreWhite = true;
logList.load("Tree_list.asp?log_cat="+cat_id+"&page="+page);
//------------------------------------------------
//Datenfunktion abrufen
Funktion logFunc(e) {
wenn (e) {
logroot = logList.firstChild;
logname = 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;
ich = 1;
list.lbn1._visible = true;
//Schleife zum Lesen von Knoten
while (temp.nextSibling != null) {
temp = temp.nextSibling;
i++;
//Wenn es anders angezeigt wird, ändern Sie es einfach.
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+"Gesamtprotokolle"+Tnum+"Gesamtartikel"+Tpage+"Die aktuelle Seite ist "+page+"page"+"15/Seite";
bn_u.enabled = true;
bn_d.enabled = true;
} anders {
pageInfo.text = "Derzeit sind keine Protokolle vorhanden.";
list.ltitle1.text = „Fehler beim Lesen der Daten, bitte wenden Sie sich an den Administrator!“;
}
}
// Eine benutzerdefinierte Formattitelfunktion, aus Angst, dass der Titel zu lang ist
Funktion Ftitle(s, n) {
if (Länge(n)>n) {
s = s.substring(0, n-1)+"...";
}
return s;
}
logList.onLoad = logFunc;
//-----------------------
//Button-Aktion
Bn_up = neues Objekt();
// Schaltflächenereignis: Bestimmen Sie, ob die Seitengröße den Wert überschreitet
Bn_up.click = function(evt) {
if (Seite>1) {
_root.page--;
gotoAndPlay("cycle");
} anders {
stoppen();
}
};
Bn_d = neues Objekt();
Bn_d.click = function(evt) {
if (page<Tpage) {
_root.page++;
gotoAndPlay("cycle");
} anders {
stoppen();
}
};
bn_u.addEventListener("click", Bn_up);
bn_d.addEventListener("click", Bn_d);
Es gibt nur ein Wort für "cycle":
gotoAndPlay("list");
//Bilden Sie eine einfache Schleife
Tree_list.asp:
//log ist meine Protokolltabelle, log_cat ist der ASP unter der Klassifizierungstabelle. Es ist sehr klar
<?xml version="1.0" binding="gb2312"?>
<%
Response.ContentType = "text/xml"
Response.CacheControl = "no-cache"
Response.AddHeader „Pragma“, „no-cache“
Response.Expires = 0
dim log_cat,page,pageSize,Tnum,Tpage,log_name
page=TreeRequest("page",1)
log_cat=TreeRequest("log_cat",1)
Seitengröße=15
callTree_rs
wenn log_cat=0 oder log_cat="" dann
sql="wähle * aus Protokollreihenfolge nach geschriebener_Zeit DESC,log_ID DESC"
anders
sql="select * from log,log_cat where log.cat_id=log_cat.ID and cat_id="&log_cat&" order by write_time DESC,log_ID DESC"
Ende wenn
rs.open sql,conn,1,1
rs.PageSize=Seitengröße
Tnum=rs.RecordCount
Tpage=Int(Tnum/pageSize*-1)*-1
Wenn Seite="", dann Seite=1
Wenn Tnum<>0, dann rs.AbsolutePage=page
wenn log_cat=0 oder log_cat="" dann
log_name="[alle Kategorien]"
anders
log_name="["&rs("cat_name")&"]"
Ende wenn
'Die folgende Ausgabe-XML
'------------------------------------------------
Response.write("<Tree logname='"&log_name&"' Tnum='"&Tnum&"' Tpage='"&Tpage&"'>")
wenn rs.eof dann
rs.close
anders
tun, während nicht rs.eof und pageSize>0
Response.write("<Trees author='"&rs("log_author")&"' Addtime='"&rs("scribed_time")&"' id='"&rs("log_ID")&"'>")
Response.write("<![CDATA["&rs("log_third")&"]]></Trees>")
pageSize=pageSize-1
rs.movenext
Schleife
rs.close
Ende wenn
//Schließe rs
callTree_rsclose
callTree_conclose
Response.write("</Tree>")
%>
Der Code scheint sehr chaotisch zu sein. Ich hoffe, dass er für Freunde, die dies tun, hilfreich sein kann. Bitte teilen Sie mir dies mit
. Quelle: www.flashbank.cn