上个小例子
$arrProperty = &$arrTest;
之后我再修改数组$arrProperty同步就修改了$arrTest,因为$arrProperty是$arrTest的引用
$arrProperty["classname"] = “non-box “;
$arrProperty["id"]=$id;
学习PHP指针引用
JS鼠标放上/经过出下划线
其需加上以下代码:
onmouseover=”this.style.textDecoration=’underline’” onmouseout=”this.style.textDecoration=’none’”
只要添加onmouseover和onmouseout这两个事件就事件就可以了。
如:
测试
数据绑定之排序ArrayCollection
public var items:ArrayCollection = new ArrayCollection();
var prodSort:Sort = new Sort();
var sortField:SortField = new SortField(“name”);
prodSort.fields = new Array(sortField);
items.sort = prodSort;
items.refresh();
FLEX Spacer控件
Spacer 控件可帮助您布置父容器中的子项。虽然 Spacer 控件不会绘制任何内容,但它会在父容器中为其本身分配空间。
在以下示例中,使用灵活的 Spacer 控件将 Button 控件推到右侧,以便 Button 控件与 HBox 容器的右边对齐:
MXML 语法显示 MXML 语法
隐藏 MXML 语法
The
Flex的iframe
步骤:
1、在此链接中下载现成的资料 https://github.com/flex-users/flex-iframe/downloads
我下的是最新的 flex-iframe-1.5.1.zip
解压后,在 flex-iframe-1.5.1\sources\library\flex-iframe\src\com\google\code\flexiframe 这个路径中可以找到两个AcriptScript 类文件
2、将IFrame.as、IFrameExternalCalls.as 存放在Flex项目中,我将它复制到Class文件里
3、新建立 MXML应用程序,添加红色部分代码即可, source里填充要显示的页面
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
xmlns:iframe="Class.*">
相关文章:http://hi.baidu.com/%D5%D4%B9%A7%DC%F8/blog/item/3c15728f0b5a22709e2fb4d1.html
FLEX的COOKIE
在Flex中并没有提供直接操作cookie或是 session的方法。经过查资料发现,Flex提供了SharedObject这个本地对象。有人把它称为“Flash Cookie ”,还真是形象啊。
SharedObject提供了下面的操作本地对象的方法:
SharedObject.clear() 删除本地共享对象;
SharedObject.flush() 立即把共享对象数据写入本地文件;
SharedObject.getLocal() 创建或连接本地共享对象;
SharedObject.getSize() 取得本地共享对象的指定大小数据。
举个应用的例子:
存值:
var test:SharedObject = SharedObject.getLocal( “aaa” );// 创建一个本地保存数据对象
test.data.user = “username”;
test.data.psw = “password”;
test.flush(); //提交保存
取值:
var test: SharedObject = SharedObject.getLocal(“aaa”);
Alert.show(test.data.user);
Alert.show(test.data.psw);
解决FLEX DataGrid增删改后显示不同步
1.数据源绑定
[Bindable]
private var dp:ArrayCollection;
2.在做完操作的function中
var obj:Object=udg.indexToItemRenderer(udg.selectedIndex).data;
新增
dp.addItemAt(obj,0); //从数据源新增所选项
udg.dataProvider = dp;//重新绑定数据绑
dp.refresh();//刷新数据源
修改
dp.setItemAt(obj,udg.selectedIndex); //从数据源修改所选项
udg.dataProvider = dp;//重新绑定数据绑
dp.refresh();//刷新数据源
删除
dp.removeItemAt(udg.selectedIndex);//从数据源删除所选项
udg.dataProvider = dp;//重新绑定数据绑
dp.refresh();//刷新数据源
如果修改和新增操作是在子窗口完成的,需要子窗口与父窗口互动,可以参考以下代码:
弹出子窗口代码:
protected function addBtn_clickHandler(event:MouseEvent):void
{
var addInfoWin:RInfoPanel = RInfoPanel(PopUpManager.createPopUp(this,RInfoPanel,true));
addInfoWin.mainApp = this;
//调用回调函数。用来刷新父窗口。
addInfoWin.callBackFunction = init;//init是父窗口的初始化程序。调用它用来刷新父窗口数据
addInfoWin.isPopUp = true;
PopUpManager.centerPopUp(addInfoWin);
}
子窗口回调函数访问父窗口
[Bindable]
public var callBackFunction:Function;//回调函数
[Bindable]
public var mainApp:Object = null;
if(effectRows == 1)
{
Alert.show(“添加成功!”);
PopUpManager.removePopUp(this);
callBackFunction.call(mainApp); //回调函数。也可传递参数。
}
Flex自动刷新DataGrid
当修改 DataGrid 实例的数据, 即修改数据源(dataProvider) 的内容时,要实现 DataGrid 的自动刷新,有两步。
1.将数据源设置为绑定。比如 数据源 为 dataArray,要在声明时在上面加 [Bindable] 标签
[Bindable]
var dataArray:Array;
有关数据绑定可以看另外一篇文章http://hi.baidu.com/think122/blog/item/54970bfa2aed732b4e4aea16.html
2.设置为绑定以后,当你修改数据时,DataGrid 实例不会显示新的数据,除非你鼠标点一下 DataGrid ,才会显示。
必须再手动进行刷新。DataGrid 有两个刷新函数,一个是下面的 invalidateList() ,这个函数用来刷新 DataGrid 的每一行,还有一个函数是 validateNow(),这个是在 DataGrid 的属性(大小,位置等)改变时,进行手动刷新的。我们要刷新纪录,就要用 invalidateList() 。所以在修改了数据后加上下面一行( dataGridInstance 是你的 DataGrid 实例)
dataGridInstance.invalidateList();
转自:http://apps.hi.baidu.com/share/detail/17757297