看了這個的一些帖子,學到了很多東西,現在和大家一起分享 flash現在只是一個顯示的功能,過程中看了一些別人的東西,覺得分頁似乎有很簡單的實現方式.基本上都是用xml傳送的.顯示用 list 組件和 datagrid 都可以,這里我用的是動態文本,因為覺得組件用的太麻煩了.所以用了蠢辦法,沒辦法,找不到更好的~~~下面代碼中的 list[..]就是動態文本的名趁,一次顯示15條
//顯示程序如下:
//楨名稱 "list" stop(); var logList = new XML(); var logroot; var page:Number; //當前頁 var Tpage:Number; //保存總頁 var Tnum:Number; //總日志數 var logname:String; //日志分類名稱 var temp; var i:Number;
//這里我用一個數組儲存了對應的id號,如果用組件就不用這么麻煩了 var ids = new Array(15);
//一個自定義的格式標題的函數,怕標題太長 function Ftitle(s, n) { if (length(s)>n) { s = s.substring(0, n-1)+"..."; } return s; } logList.onLoad = logFunc; //------------------------------------- //按鈕動作 Bn_up = new Object(); //按鈕事件,判斷頁面大小是否超過值 Bn_up.click = function(evt) { if (page>1) { _root.page--; gotoAndPlay("cycle"); } else { stop(); } }; Bn_d = new Object(); Bn_d.click = function(evt) { if (pageTpage) { _root.page++; gotoAndPlay("cycle"); } else { stop(); } }; bn_u.addEventListener("click", Bn_up); bn_d.addEventListener("click", Bn_d);
楨"cycle"只有一個話: gotoAndPlay("list"); //形成一個簡單的循環
Tree_list.asp: //log 是我的日志表 ,log_cat是分類表
下面的asp很清楚了
?xml version="1.0" encoding="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) pageSize=15 call Tree_rs if log_cat=0 or log_cat="" then sql="select * from log order by written_time DESC,log_ID DESC" else sql="select * from log,log_cat where log.cat_id=log_cat.ID and cat_id="log_cat" order by written_time DESC,log_ID DESC" End if rs.open sql,conn,1,1 rs.PageSize=pageSize Tnum=rs.RecordCount Tpage=Int(Tnum/pageSize*-1)*-1 if page="" then page=1 if Tnum>0 then rs.AbsolutePage=page if log_cat=0 or log_cat="" then log_name="[全部分類]" else log_name="["rs("cat_name")"]" End if '以下輸出xml '------------------------------------------------ response.write("Tree logname='"log_name"' Tnum='"Tnum"' Tpage='"Tpage"'>") if rs.eof then rs.close else do while not rs.eof and pageSize>0 response.write("Trees author='"rs("log_author")"' Addtime='"rs("written_time")"' id='"rs("log_ID")"'>") response.write("![CDATA["rs("log_tittle")"]]>/Trees>") pageSize=pageSize-1 rs.movenext loop rs.close End if //關閉rs call Tree_rsclose call Tree_conclose response.write("/Tree>") %>