flash留言本教程
说明一下:操作的时候只能看到边框,命名是在属性面板里面设置的。
把下面的代码复制到第一帧:
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import flash.events.Event;
System.useCodePage=true;
var loader:URLLoader = new URLLoader();
var txturl:String="http://127.0.0.1/notebook/index.asp";
var request:URLRequest = new URLRequest(txturl);
var listrecord:XML;
request.method = URLRequestMethod.GET;
loader.dataFormat = URLLoaderDataFormat.TEXT;
loader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
loader.addEventListener(Event.COMPLETE, loader_complete);
mylist.addEventListener(Event.CHANGE, myDG_change);
loader.load(request);
function loader_complete(evt:Event):void {
listrecord=new XML(loader.data);
loading.visible=false;
var contentCol:DataGridColumn = new DataGridColumn("content");
contentCol.headerText = "内容摘要";
contentCol.width = 120;
contentCol.sortable =false;
//var myDG:DataGrid
var myDP:DataProvider = new DataProvider(listrecord);
mylist.columns = [contentCol];
mylist.dataProvider = myDP;
mylist.sortableColumns ;
//myDG.dataProvider =new dataProvider(listrecord);
}
function myDG_change(evt:Event) {
var i:Number =mylist.selectedIndex;
mycontent.htmlText="姓名:"+listrecord.record[i].name+"<br>";
mycontent.htmlText+="日期:"+listrecord.record[i].date+"<br>";
mycontent.htmlText+="QQ:"+listrecord.record[i].qq+"<br>";
mycontent.htmlText+="email:"+listrecord.record[i].email+"<br>";
mycontent.htmlText+="内容:"+listrecord.record[i].content+"<br>";
}
function progressHandler(event:ProgressEvent):void {
loading.setProgress(event.bytesLoaded*150/event.bytesTotal, loading.maximum);
}
测试将看到下面的图像
说明一下上面的代码
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;
import flash.events.Event;
//导入运行时必备的一些类库。
System.useCodePage=true;
//设置系统的语言支持,如果没有这一句的话,汉字会显示成乱码。
var loader:URLLoader = new URLLoader();
//定义一个加载数据类URLLoader 的一个实例loader。
var txturl:String="http://127.0.0.1/notebook/index.asp";
//定义网址字符串。
var request:URLRequest = new URLRequest(txturl);
//定义URLRequest,用来和 loader结合从网站获取数据。
var listrecord:XML;
//定义xml用来接收loader从网站上获取来的数据
request.method = URLRequestMethod.GET;
//相当于在网页中的form标签里设置数据获取方式为GET。
loader.dataFormat = URLLoaderDataFormat.TEXT;
//格式化数据
loader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
//为loader添加事件处理函数:
//事件为ProgressEvent.PROGRESS,即加载数据的进度
//函数为:progressHandler(见下文)
loader.addEventListener(Event.COMPLETE, loader_complete);
//为loader添加事件处理函数:
//事件为Event.COMPLETE,即数据加载完毕
//函数为:loader_complete(见下文)
mylist.addEventListener(Event.CHANGE, myDG_change);
//为mylist添加事件处理函数:
//事件为Event.CHANGE,即当前列表项焦点发生变化时
//函数为:myDG_change(见下文)
loader.load(request);
//开始加载数据
function loader_complete(evt:Event):void {
/*数据加载完毕执行的代码
/
/
/
*/
listrecord=new XML(loader.data);
loading.visible=false;
var contentCol:DataGridColumn = new DataGridColumn("content");
contentCol.headerText = "内容摘要";
contentCol.width = 120;
contentCol.sortable =false;
//var myDG:DataGrid
var myDP:DataProvider = new DataProvider(listrecord);
mylist.columns = [contentCol];
mylist.dataProvider = myDP;
mylist.sortableColumns ;
//myDG.dataProvider =new dataProvider(listrecord);
}
function myDG_change(evt:Event) {
/*留言列表被单击时执行的代码
*/
var i:Number =mylist.selectedIndex;
mycontent.htmlText="姓名:"+listrecord.record[i].name+"<br>";
mycontent.htmlText+="日期:"+listrecord.record[i].date+"<br>";
mycontent.htmlText+="QQ:"+listrecord.record[i].qq+"<br>";
mycontent.htmlText+="email:"+listrecord.record[i].email+"<br>";
mycontent.htmlText+="内容:"+listrecord.record[i].content+"<br>";
}
function progressHandler(event:ProgressEvent):void {
/*数据加载过程中执行的代码
*/
loading.setProgress(event.bytesLoaded*150/event.bytesTotal, loading.maximum);
}
注意:只能是ctrl+enter测试(或者在网络情况下测试)才能看到效果,单击生成的swf文件会有安全警告:
补充:flash教程,动画技术