Flex中根据CSV文件来动态创建DataGrid(包括列标题)
2012-03-26 10:08
501 查看
Flex中,读入CSV文件(包括列标题),然后根据CSV文件的内容来设置Datagrid,方法如下:
1、声明变量
/** CSV文件读入用的对象 */
private var myFileReference:FileReference = new FileReference();
[Bindable]
private var arrDgData : ArrayCollection = new ArrayCollection(); // DataGrid的DataProvider
// DataGrid控件
<mx:DataGrid id="dgData" dataProvider="{dgDataCollection}" height="100%" width="100%" verticalGridLines="true"
dropEnabled="false" sortableColumns="false" allowMultipleSelection="true" horizontalGridLines="true"
dragMoveEnabled="false" draggableColumns="false">
2、用myFileReference打开要读入的CSV文件,经过Server端Java程序(Remote)处理后,返回一个List。
3、接下来用如下的方法对返回的List进行操作,即可生成一个带列标题的DataGrid
private var csvInfoList : ArrayCollection;
private function afterLocalOutput(event : ResultEvent):void {
circlePackEntRemote.removeWaiting();
csvInfoList = ArrayCollection(event.result);
if (csvInfoList == null || csvInfoList.length == 0) {
return;
}
arrDgData.removeAll();
var arrRecord : Array;
var allColumns : Array = new Array();
arrRecord = csvInfoList.getItemAt(0) as Array;
var i : int;
// 生成各个列
for (i = 0; i < arrRecord.length; i++) {
var colEx:DataGridColumnEx = new DataGridColumnEx();
colEx.headerText = arrRecord[i];
colEx.sortable = false;
colEx.width = 70;
// 设置各个列的dataField
colEx.dataField = "msItem" + i;
colEx.setStyle("textAlign","left");
allColumns.push(colEx);
}
dgData.columns = allColumns;
// 循环,DataGrid的DataProvider做成
for (i = 1; i < csvInfoList.length; i++) {
arrRecord = csvInfoList.getItemAt(i) as Array;
var objTemp : Object = new Object();
for (var j : int = 0; j < arrRecord.length; j++) {
// 这句很重要,对应上面列做成时的dataField
objTemp["msItem" + j] = arrRecord[j];
}
arrDgData.addItem(objTemp);
}
dgData.dataProvider = arrDgData;
}
1、声明变量
/** CSV文件读入用的对象 */
private var myFileReference:FileReference = new FileReference();
[Bindable]
private var arrDgData : ArrayCollection = new ArrayCollection(); // DataGrid的DataProvider
// DataGrid控件
<mx:DataGrid id="dgData" dataProvider="{dgDataCollection}" height="100%" width="100%" verticalGridLines="true"
dropEnabled="false" sortableColumns="false" allowMultipleSelection="true" horizontalGridLines="true"
dragMoveEnabled="false" draggableColumns="false">
2、用myFileReference打开要读入的CSV文件,经过Server端Java程序(Remote)处理后,返回一个List。
3、接下来用如下的方法对返回的List进行操作,即可生成一个带列标题的DataGrid
private var csvInfoList : ArrayCollection;
private function afterLocalOutput(event : ResultEvent):void {
circlePackEntRemote.removeWaiting();
csvInfoList = ArrayCollection(event.result);
if (csvInfoList == null || csvInfoList.length == 0) {
return;
}
arrDgData.removeAll();
var arrRecord : Array;
var allColumns : Array = new Array();
arrRecord = csvInfoList.getItemAt(0) as Array;
var i : int;
// 生成各个列
for (i = 0; i < arrRecord.length; i++) {
var colEx:DataGridColumnEx = new DataGridColumnEx();
colEx.headerText = arrRecord[i];
colEx.sortable = false;
colEx.width = 70;
// 设置各个列的dataField
colEx.dataField = "msItem" + i;
colEx.setStyle("textAlign","left");
allColumns.push(colEx);
}
dgData.columns = allColumns;
// 循环,DataGrid的DataProvider做成
for (i = 1; i < csvInfoList.length; i++) {
arrRecord = csvInfoList.getItemAt(i) as Array;
var objTemp : Object = new Object();
for (var j : int = 0; j < arrRecord.length; j++) {
// 这句很重要,对应上面列做成时的dataField
objTemp["msItem" + j] = arrRecord[j];
}
arrDgData.addItem(objTemp);
}
dgData.dataProvider = arrDgData;
}
相关文章推荐
- 根据csv文件动态创建nginx配置文件(用于反向代理,perl描述)
- scrapy框架第一天(包括如何快速创建json文件和csv文件)
- FLEX实践—Datagrid动态创建列TypeError: Error #1010
- Flex通过Java读取Excel(详细流程)----Excel在客户端(DataGrid动态根据Excel生成)
- 动态根据文件创建类,并纳入spring管理
- FLEX如何动态创建DataGrid组件详解
- .NET : 如何动态根据一个业务实体类型创建XSD架构文件
- flex DataGrid根据数据动态显示行颜色(重写DataGrid组件)
- .NET : 如何动态根据一个业务实体类型创建XSD架构文件
- Flex 根据DataGridColumn 的值动态显示相对应的图片
- FLEX中使用AS动态创建DataGrid
- Flex 读取CSV文件,数据放入DataGrid
- (设计模式)简单工厂模式之通过配置文件动态创建实现类
- JS判断各种浏览器,根据判断动态引入不同的CSS文件、JS文件
- Flex 自定义Tooltip 显示<s:datagrid>只显示行长标题的Tooltip
- 根据wsdl 文件 用soapUi 快速创建webService 服务创建(图文并茂)
- wpf 根据DataTable在后台自动创建DataGrid,而且可以对数据进行初步处理,显示差异
- 如何使用动态创建模板列并绑定数据(GridView,Repeater,DataGrid)
- VC6下ADO数据库编程(1)--动态创建数据库文件
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型