• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>AS 3.0>文章内容
  • asp+as3+flash留言本教程-flash篇
  • 来源: 作者:赵成业 2007-08-13 【


模块一:

首先,我们来创建一个显示模块。

打开flash cs 拖放三个组件在舞台上,如下图

说明一下:操作的时候只能看到边框,命名是在属性面板里面设置的。
把下面的代码复制到第一帧:

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文件会有安全警告:
完毕!



上一篇:as3学习-利用分隔符对字符串的分割   下一篇:asp+as3+flash留言本教程-asp篇
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)