使用itemEditor改进数据向导生成的Flex应用

利用Flex Builder 3的数据向导可以很快捷地生成一个Flex CRUD应用,然而该应用的所有项目编辑器都是输入文本,如果数据提供程序项目中字段为布尔、日期等其他数据类型,输入文本使用起来就不方便了,得使用相应的项目编辑器或自定义项目编辑器。

点击此处查看该实例的效果,点击此处下载该实例的源码。

在本实例中,对于性别列,我们使用CheckBox项目编辑器;对于生日列,使用了自定义的DateField项目编辑器;对于班级列,则使用了自定义的ComboBox项目编辑器。这样的界面,用户易懂,使用起来很方便。而且,当我们在新增记录时,也使用了这些项目编辑器作为控件,从而有效地重用了组件。

改进前的的应用,不管属性值有没有更新,当焦点从一个项目编辑器移动到另一个项目编辑器,或者从一条记录移动到另一条记录时,都会提交到服务器端处理,这样情况不是我们想要的。因此我们干脆移除了当项目编辑结束时调度的事件处理函数,新增了Update按钮,只有当用户单击该按钮时,才将更新的当前记录提交到服务器端。如下代码片段:

private function updateItem():void 
{
	var vo:*  = dataGrid.selectedItem;
	if(vo)
	gateway.Update(vo.StudentID, vo.Name, vo.Gender, vo.Birthday, vo.ClassName);
}

当然,要改进的地方还有很多,比如说新增更新记录时要进行数据验证,留在下次再讲解吧。

更多关于itemEditor的教程:

评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭