Setelah membaca beberapa postingan tentang ini, saya belajar banyak, dan sekarang saya ingin membaginya kepada Anda semua.
Flash sekarang hanyalah fungsi tampilan. Selama prosesnya, saya membaca beberapa barang orang lain dan merasa bahwa paging tampaknya memiliki cara yang sangat sederhana untuk mengimplementasikannya.
Pada dasarnya itu ditransmisikan menggunakan xml.
Baik komponen daftar maupun datagrid dapat digunakan untuk tampilan. Saya menggunakan teks dinamis di sini karena menurut saya terlalu merepotkan untuk menggunakan komponen.
Jadi saya menggunakan metode bodoh, tidak ada cara lain, saya tidak dapat menemukan yang lebih baik~~~
Daftar[..] pada kode di bawah ini adalah nama teks dinamis, dan 15 item ditampilkan sekaligus.
//Tampilan programnya seperti berikut:
//Nama frame "daftar"
berhenti();
var logList = XML baru();
var logroot;
var halaman:Nomor; //Halaman saat ini
var Tpage:Nomor; //Simpan total halaman
var Tnum:Nomor; //Jumlah total log
var namalog:String; //Nama kategori log
vartemp;
var i:Number;
//Di sini saya menggunakan array untuk menyimpan nomor ID yang sesuai.
var ids = new Array(15);
//Dua tombol untuk membalik halaman
bn_u.enabled = salah;
bn_d.enabled = salah;
if (halaman == null atau halaman<1) {
halaman = 1;
}
//--------------
//Hapus fungsi;
fungsi myclear() {
untuk (saya=1; saya<16; saya++) {
id[i-1] = 0;
daftar["lbn"+i]._visible = false;
daftar["ljudul"+i].teks = "";
daftar["lpenulis"+i] = "";
daftar["waktu"+i] = "";
}
}
//---------------------------
//---------------------------
jelas();
pageInfo.text = "Membaca data...";
logList.ignoreWhite = benar;
logList.load("Tree_list.asp?log_cat="+cat_id+"&page="+halaman);
//------------------------------------------------
//dapatkan fungsi data
fungsi logFunc(e) {
jika (e) {
logroot = logList.anak pertama;
namalog = logroot.atribut.namalog;
Tpage = logroot.attributes.Tpage;
Tnum = logroot.atribut.Tnum;
temp = logroot.firstChild;
list.ltitle1.text = Ftitle(temp.firstChild.nodeValue, 22);
list.lauthor1 = temp.attributes.penulis;
list.ltime1 = temp.attributes.Addtime;
ids[0] = temp.attributes.id;
saya = 1;
list.lbn1._visible = benar;
//Perulangan untuk membaca node
while (saudara sementara != null) {
temp = temp.saudara berikutnya;
saya++;
//Jika ditampilkan dengan cara lain, ubah saja.
ids[i-1] = temp.attributes.id;
daftar["lbn"+i]._visible = benar;
daftar["ltitle"+i].text = Ftitle(temp.firstChild.nodeValue, 22);
daftar["lauthor"+i] = temp.attributes.author;
daftar["ltime"+i] = temp.attributes.Addtime;
}
pageInfo.text = logname+"Total log"+Tnum+"Total artikel"+Tpage+"Halaman saat ini adalah "+halaman+"halaman"+"15/halaman";
bn_u.enabled = benar;
bn_d.enabled = benar;
} kalau tidak {
pageInfo.text = "Saat ini tidak ada log.";
list.ltitle1.text = "Kesalahan membaca data, harap hubungi administrator!";
}
}
//Fungsi judul dengan format khusus, karena khawatir judulnya terlalu panjang
fungsi Fjudul(s, n) {
jika (panjang)>n) {
s = s.substring(0, n-1)+"...";
}
kembali;
}
logList.onLoad = logFunc;
//-----------------------
//Aksi tombol
Bn_up = Objek baru();
//Tombol event, tentukan apakah ukuran halaman melebihi nilainya
Bn_up.klik = fungsi(evt) {
jika (halaman>1) {
_root.halaman--;
gotoAndPlay("siklus");
} kalau tidak {
berhenti();
}
};
Bn_d = Objek baru();
Bn_d.klik = fungsi(evt) {
if (halaman<Thalaman) {
_root.halaman++;
gotoAndPlay("siklus");
} kalau tidak {
berhenti();
}
};
bn_u.addEventListener("klik", Bn_up);
bn_d.addEventListener("klik", Bn_d);
Hanya ada satu kata untuk "siklus":
gotoAndPlay("daftar");
//Bentuk loop sederhana
Tree_list.asp:
//log adalah tabel log saya, log_cat adalah asp di bawah tabel klasifikasi. Sangat jelas
<?xml version="1.0" coding="gb2312"?>
<%
Response.ContentType = "teks/xml"
Response.CacheControl = "tanpa cache"
Response.AddHeader "Pragma", "tanpa cache"
Respon. Kedaluwarsa = 0
redupkan log_cat,halaman,Ukuran halaman,Tnum,Thalaman,nama_log
halaman=Permintaan Pohon("halaman",1)
log_cat=Permintaan Pohon("log_cat",1)
Ukuran halaman=15
panggilanTree_rs
jika log_cat=0 atau log_cat="" maka
sql="pilih * dari urutan log berdasarkan waktu_tulis DESC,log_ID DESC"
kalau tidak
sql="pilih * dari log,log_cat di mana log.cat_id=log_cat.ID dan cat_id="&log_cat&" diurutkan berdasarkan waktu_tulis DESC,log_ID DESC"
Berakhir jika
rs.open sql,sambungan,1,1
rs.PageSize=Ukuran halaman
Tnum=rs.RecordCount
Thalaman=Int(Tnum/Ukuran halaman*-1)*-1
jika halaman = "" maka halaman = 1
jika Tnum<>0 maka rs.AbsolutePage=halaman
jika log_cat=0 atau log_cat="" maka
log_name="[semua kategori]"
kalau tidak
log_name="["&rs("nama_kucing")&"]"
Berakhir jika
'Keluaran xml berikut
'------------------------------------------------
respon.write("<Pohon logname='"&log_name&"' Tnum='"&Tnum&"' Tpage='"&Tpage&"'>")
jika rs.eof maka
rs.tutup
kalau tidak
lakukan tanpa rs.eof dan pageSize>0
respon.write("<Pohon penulis='"&rs("log_author")&"' Addtime='"&rs("Waktu_tulis")&"' id='"&rs("log_ID")&"'>")
respon.write("<![CDATA["&rs("log_tittle")&"]]></Pohon>")
ukuran halaman=ukuran halaman-1
rs.movenext
lingkaran
rs.tutup
Berakhir jika
//Tutup rs
callTree_rsclose
callTree_conclose
respon.tulis("</Pohon>")
%>
Kodenya sepertinya sangat berantakan. Saya harap dapat membantu teman-teman yang melakukan hal ini. Jika ada bug di atas, tolong beri tahu