Flex动态生成可编辑的DataGrid
Flex #datagrid2014-04-10 09:46
具有的功能
1、表头是动态生成的。
2、每行都是有序号的。
3、每行都是可以编辑、插入、删除、修改的。
4、每个单元格都是加验证的。
5、单元格有些是经过渲染生成的比如:Combobox,DateField...
代码如下
package datagridview {
import com.adobe.serialization.json.JSON;
import com.jzh.test.ComboxColumn;
import com.jzh.test.ComboxItem;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.ComboBase;
import mx.controls.ComboBox;
import mx.controls.DateField;
import mx.controls.RadioButtonGroup;
import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn;
import mx.core.ClassFactory;
import mx.validators.RegExpValidator;
import spark.components.DropDownList;
public class RendererUtil {
public
function RendererUtil() {}
public static
function getButtonRenderer() : ClassFactory {
var f: ClassFactory = new ClassFactory(OperateButtons);
f.properties = {};
return f;
}
public static
function getNumRenderer() : ClassFactory {
var f: ClassFactory = new ClassFactory(numLabel);
f.properties = {};
return f;
}
public static
function getComboxRenderer(arr: ArrayCollection, label: String) : ClassFactory {
//应该在这里查询数据库
var f: ClassFactory = new ClassFactory(ComboBox);
f.properties = {
dataProvider: arr,
labelField: label,
selectedIndex: '0',
selectedItem: '石质路面'
}; //添加属性,绑定选择状态
return f;
}
public static
function getRadioRenderer(label: String) : ClassFactory {
var f: ClassFactory = new ClassFactory(ComboBox);
var arr: ArrayCollection = new ArrayCollection();
arr.addItem("是");
arr.addItem("否");
f.properties = {
dataProvider: arr,
labelField: label,
selectedIndex: '0',
selectedItem: '否'
}; //添加属性,绑定选择状态
return f;
}
public static
function getDateRenderer() : ClassFactory {
var f: ClassFactory = new ClassFactory(DateField);
f.properties = {
formatString: "YYYY-MM-DD",
showToday: true
}; //添加属性,绑定选择状态
return f;
}
/*http://yige.org/*/
public static
function getValidateRenderer() : ClassFactory {
var f: ClassFactory = new ClassFactory(RegExpValidator);
f.properties = {
source: "roadcode",
property: "text",
expression: "^[0-9]*$",
noMatchError: "填写验证不通过时显示他提示信息"
}; //添加属性,绑定选择状态
return f;
}
/*测试用*/
public static
function getRenderer(label: String, callback: Function = null) : ClassFactory {
var f: ClassFactory = new ClassFactory(numLabel);
f.properties = {
lab: label,
callback: callback
};
return f;
}
}
}相关文章
- flash 报错捕获的方法 2014/04/10
- Flex压缩图片时exif信息丢失问题解决方法 2014/04/10
- Flex的Menu Tree实现代码 2014/04/10
- Flex3 DataGrid拖拽到ClumnChart动态显示图表 2014/04/10
- Flex DataGrid表头过滤搜索解决方法 2014/04/01