Flex实现DataGrid的序号列
要在Flex的DataGrid里添加序号列,大体上有两种方法:
设置DataGridColumn的labelFunction。
其大致的思路是,获取到当前DataGrid的dataProvider及当前行的data,调用getItemIndex方法获取到当前的行的序号。
具体可参考 http://wmcai.blog.163.com/blog/static/480242008111115724283/。这种方法比较直观,也很容易想到。
但重用性很差,其生成序号的labeldFunction无法重用。
设置DataGridColumn的ItemRenderer。
即自定义一个itemRenderer来处理序列号的生成。这种方法重用性很高。至于如何生成序号,这里需要些小技巧。
SequenceItemRenderer.as
package com.carnation.component.common
{
import mx.collections.IList;
import mx.controls.Label;
import mx.controls.listClasses.BaseListData;
import mx.controls.listClasses.ListBase;
public class SequenceItemRenderer extends Label
{
public function SequenceItemRenderer()
{
super();
}
// 另一种方法获取dataProvider并调用getItemIndex方法
// override public function set data(value:Object):void{
// super.data = value;
// text = (((listData.owner as ListBase).dataProvider as IList)
// .getItemIndex(data) + 1).toString();
// }
override public function set listData(value:BaseListData):void{
super.listData = value;
text = ((value.owner as ListBase).itemRendererToIndex(this) + 1).toString();
}
}
}
Test.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()">
<mx:Script>
<!--[CDATA[
import com.carnation.component.common.SequenceItemRenderer;
private var indexRenderer:Class = SequenceItemRenderer;
private function init():void{
var array:Array = [];
for(var i:int = 1; i <= 10; i++){
array.push({name:"name"+i.toString()});
}
grid.dataProvider = array;
}
]]-->
</mx:Script>
<mx:DataGrid id="grid">
<mx:columns>
<mx:DataGridColumn headerText="no" itemRenderer="{new ClassFactory(inde
相关文档:
进入年末,项目也开发得差不多了,只是偶尔需要出差安装我们系统,当然出差是男人们的事,也就不会让我出差了,因而最近时间比较充裕,就借此机会学习了一下Flex。刚开始学,是根据Flex3权威指南的视频教程来的,第一讲学完了,感觉还比较容易,第二讲一直没下下来,所以先对第一讲学的做个笔记。
一、新建工程:File&mdas ......
effects\Blinds.as
JScript code
package effects
{
import effects.effectClasses.BlindsInstance;
import mx.controls.scrollClasses.ScrollBarDirection;
import mx.effects.IEffectInstance;
  ......
这是一个简单的工作流设计器模型,还不能用于实际项目,只是个人兴趣做一些技术学习与尝试。设计器支持一些工作流基本组件的绘制,如节点、路由线路等等。
整个设计器是纯Flex技术实现,未与数据库接口。采用Flex Builder 3.0开发,通过实践对Flex以下技术有了更进一 ......
废话不说,直接代码部分代码摘抄自网上,在此想原作者表示感谢
1、服务端 uploadFile.ashx
<%@ WebHandler Language="VB" Class="UploadFile" %>
Imports System
Imports System.Web
Imports System.Web.HttpServerUtility
Imports System.IO
Imports System.Web.HttpRequest
Public Class UploadFile : Impl ......