Flex 4.5 Chart组件的一个严重Bug

我一直以来是Flex Chart的终实用户。Flex 4.5 Chart 组件修正了不少Flex 4.0 Chart 组件中的不少Bug,比如时间轴问题,笔触样式问题,Chart与其它数据可视化组件分开了,而且还新增了labelClass样式。遗憾的是,我今天发现了一个很严重的Bug,希望Flex SDK Team能在Flex 5中修正一下。 继续阅读Flex 4.5 Chart组件的一个严重Bug

让Spark DataGrid支持拖放

List、Tree和 DataGrid等MX list-based控件提供了对拖放操作的内置支持,而在Spark组件中,目前只有Spark List控件还提供这一特性,Spark DataGrid不再基于ListBased而是基于SkinnableContainerBase,虽然方便了自定义外观,然而其拖放功能却大大削弱了。不过我们还是可以定义GridEvent事件处理函数,为Spark DataGrid手动添加拖放支持的。

什么是内置支持?在MX list-based控件中,通过设置dragEnabled=true可以将项目拖出此控件并放到其它控件上,设置dropEnabled=true可以将所拖动的项目放到目标控件上,设置dragMoveEnabled=true可以在拖放操作过程中移动控件中的项目,设置draggableColumns=true允许通过拖动标题单元格重排列。内置支持很方便地实现拖放操作,然而Spark DataGrid却不支持这些特性。下面我们就通过自定义Spark DataGrid,让其实现类似功能。 继续阅读让Spark DataGrid支持拖放

自定义Spark FormItem外观

Spark Form容器的一个新特性就是支持Layout,因此我们很容易实现整个Form的水平布局,这是MX Form容器无法实现的。但在这种布局下,如果发生验证错误,子容器往往会超出整个表单。

默认下,如果发生验证错误,Flex会在出现问题的组件周围绘制红色线框,当用户移动到其上方时,会显示错误信息。这对MX组件及Spark组件都适用,但有一个例外,Spark Form容器的错误信息会出现在Form容器帮助区域,而不必移到组件的指针。虽然这种体验更好,但如果Spark Form容器的宽度固定,错误字符串又很长的话,会导致布局混乱。怎么解决这一问题呢? 继续阅读自定义Spark FormItem外观

用typicalItem来定义Spark DataGrid的列宽

Spark DataGrid有不少新功能,其中之一就是可以用typicalItem来定义Spark DataGrid的列宽。

默认下,如果没显示指定Spark DataGrid列宽,也没指定典型项,会使用第一个数据提供程序项来设置列宽。如果在Spark DataGrid中设置了典型项,相当于为各列设定了一个宽度占位,列宽相对于各列占位字符串的长度计算。字体加大时,列宽会自动增加。MX DataGrid如果没显示指定列宽,默认下会均分列宽。字体加大时,列宽不变。 继续阅读用typicalItem来定义Spark DataGrid的列宽

Ajax做的一个简单投票

最近同学们想举办一个毕业聚会,就活动方案我写了一个简单的Ajax投票应用。

点击此处查看本实例的效果。

后台用的是PHP,我的主机没有MySQL,只好用文本文件来代替数据库了。投票的数据在data.js中设置。JS写得比较麻烦没有用,有空用jQuery写成一个Widget。

我只是简单的用了Cookie来防止重复投票,肯定可以作弊了,最保险的还是登录投票。