4,327
社区成员




<?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 mx.collections.ArrayCollection;
import mx.utils.ObjectProxy;
import com.htmap.control.HTAlert;
private var array:Array = new Array();
private function init():void{
for(var i:int=0;i<10;i++){
var objectProxy:ObjectProxy = new ObjectProxy();
objectProxy["序号"] = i+1;
objectProxy["字段1"] = "fff";
objectProxy["字段2"] = "fff";
objectProxy["字段2"] = "fff";
array.push(objectProxy);
}
myDataGrid.dataProvider = array;
}
]]>
</mx:Script>
<mx:DataGrid id="myDataGrid">
</mx:DataGrid>
</mx:Application>
public class InfoDatagridBase extends DataGrid
{
protected var columnArr:Array = [];
public function InfoDatagridBase()
{
super();
}
//-----------------------------------------------
// rowList
//-----------------------------------------------
/**
* DataGrid用
*/
private var _rowList:XMLList;
/**
* rowList Getter
*/
public function get rowList():XMLList
{
return _rowList;
}
/**
* rowList Setterr
*/
public function set rowList(value:XMLList):void
{
_rowList = value;
//trace("data = " + value);
this.dataProvider = rowList;
//Null
if(value.children().length() != 0) {
initDataGrid();
}
else {
}
}
protected function initDataGrid():void
{
//列ID
var colNameArr:Array = new Array();
//列名
var colTitleArr:Array = new Array();
//列種類
var colTypeArr:Array = new Array();
//列
var colEventArr:Array = new Array();
//列幅
var colWidthArr:Array = new Array();
for each(var m:XML in XML(rowList[0]).children()) {
colNameArr.push(m.name());
colTitleArr.push(String(m.@title));
colTypeArr.push(m.@type);
colEventArr.push(m.@event);
colWidthArr.push(m.@width);
}
trace("colNameArr = " + colNameArr);
columnArr = [];
var cssDecl:CSSStyleDeclaration = new CSSStyleDeclaration();
cssDecl.setStyle("textAlign", "center");
cssDecl.setStyle("fontSize", "10");
cssDecl.setStyle("fontWeight", "bold");
cssDecl.setStyle("color", 0xFFFFFF);
for(var index:int; index < colNameArr.length; index++) {
if(String(colTitleArr[index]).length != 0) {
var dgc:DataGridColumn = new DataGridColumn();
dgc.headerWordWrap = true;
dgc.setStyle("textAlign", "center");
dgc.setStyle("fontSize", "9");
dgc.width = colWidthArr[index];
dgc.dataField = colNameArr[index];
dgc.headerText = colTitleArr[index];
dgc.setStyle("headerStyleName", cssDecl);
columnArr.push(dgc);
}
}
this.columns = columnArr;
}
private function sortCompareFunc(field:String):Function
{
return function(obj1:Object, obj2:Object):int{
return ObjectUtil.numericCompare(obj1[field],obj2[field]);
}
}
//----------------------------------
// createChildren
//----------------------------------
override protected function createChildren():void
{
super.createChildren();
}
//----------------------------------
// commitProperties
//----------------------------------
override protected function commitProperties():void
{
super.commitProperties();
this.setStyle("verticalAlign", "middle");
this.setStyle("color", 0x000000);
this.headerHeight = 22;
this.variableRowHeight = true;
//this.rowHeight = Common.QDB_ROW_HEIGHT;
}
}