Flex 动态生成DataGrid列 & 参数传递
来源:互联网 发布:mac如何打开airplay 编辑:程序博客网 时间:2024/05/29 10:11
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()"><mx:Script><![CDATA[import mx.collections.ArrayCollection;import mx.controls.Alert;import mx.controls.ComboBox;import mx.controls.DataGrid;import mx.controls.dataGridClasses.DataGridColumn;import mx.events.ListEvent;[Bindable]// 自定义数据源 private var dgDataArr:Array = [{name: "Jon", job: "officer",addnew:'aaaa',age:""},{name: "James", job: "seller",addnew:'bbbb',age:""},{name: "Jodon", job: "manager",addnew:'cccc',age:""},{name: "Jon", job: "officer",addnew:'aaaa',age:""},{name: "Jon", job: "officer",addnew:'aaaa',age:""},{name: "Jon", job: "officer",addnew:'aaaa',age:""},{name: "Jon", job: "officer",addnew:'aaaa',age:"20"},];var dataGrid:DataGrid = new DataGrid();private function init():void{var dgData:ArrayCollection = new ArrayCollection(dgDataArr);dgData.filterFunction// 自定义DataGrid控件dataGrid.x = 10; // X轴坐标dataGrid.y = 20; // Y轴坐标dataGrid.editable = false; // 数据项是否能编辑dataGrid.percentWidth = 100; // 控件宽度dataGrid.percentHeight = 100; // 控件高度dataGrid.setStyle("fontSize", 14);dataGrid.styleNamedataGrid.dataProvider = dgData; // 设置数据源// 添加监听事件类型与触发函数dataGrid.addEventListener(ListEvent.ITEM_CLICK, function(event:ListEvent):void{itemClickHandler(event,'你好')}); addChild(dataGrid); // 添加dataGrid控件var columns:Array = new Array();var col:DataGridColumn;for ( var i:* in dgDataArr[0] ) {col = new DataGridColumn(i);columns.push(col);}dataGrid.columns = columns;}private function itemClickHandler(e:ListEvent,str:String):void{Alert.show(this.dataGrid.selectedItem.name.toString()+"--"+str);}]]></mx:Script></mx:Application>
前台参考片段
private function executeSelectHandler(event:ResultEvent):void{this.closeLoading();var colunmsNamesArr:ArrayCollection = event.result.colunmsNames as ArrayCollection;var dataList:ArrayCollection = event.result.dataList as ArrayCollection; /**动态构造列**/var dgc:DataGridColumn=new DataGridColumn();var dgcolumns:Array = new Array();if(colunmsNamesArr != null && colunmsNamesArr.length > 0){for (var i:int=0;i<colunmsNamesArr.length;i++){dgc = new DataGridColumn();dgc.dataField = colunmsNamesArr[i];dgcolumns.push(dgc);}}dg.columns = dgcolumns;dg.editable = false;dg.dataProvider = dataList;dg.validateNow(); }
public Map<String, List<?>> executeSelect(String sql) throws SQLException{Map<String, List<?>> rsMap = new HashMap<String, List<?>>();rsMap.put("colunmsNames", null);rsMap.put("dataList", null);//动态列List<String> colunmsNames = new ArrayList<String>();
Connection conn = getDBConnection();Statement statement = conn.createStatement();ResultSet rs;try {rs = statement.executeQuery(sql);ResultSetMetaData metaData = rs.getMetaData();while (rs.next()) {for(int i=1;i<metaData.getColumnCount() + 1;i++){colunmsNames.add(metaData.getColumnName(i).toString());}rsMap.put("colunmsNames", colunmsNames);break;}List<Object> listEntity = new ArrayList<Object>();//动态数据List<Object[]> dataListObj = PaginationUtilsSqlList.initialize(sql, this.genericBaseDAO, "dg");List<String> colunmsNamesArr = (List<String>) rsMap.get("colunmsNames");for (int i = 0; i < dataListObj.size(); i++) {Object[] sourceData = dataListObj.get(i);Map<String, String> map = new HashMap<String, String>();for (int j = 0; j < colunmsNamesArr.size(); j++) {map.put(colunmsNamesArr.get(j),sourceData[j] == null ?"": sourceData[j].toString());}listEntity.add(map);}rs.close();rsMap.put("dataList", listEntity);} catch (Exception e) {e.printStackTrace();}finally{conn.close();}return rsMap;}
/** * 获取 数据库连接 * @param sql * @return * @throws ClassNotFoundException * @throws SQLException */private Connection getDBConnection(){Connection conn = null;try{Class.forName(driverClassName);}catch(ClassNotFoundException e){e.printStackTrace();}try{conn = DriverManager.getConnection(url,username,password);}catch(SQLException e){e.printStackTrace();}return conn; }
- Flex 动态生成DataGrid列 & 参数传递
- 动态生成datagrid列
- 动态生成 DataGrid列
- datagrid动态生成列
- datagrid 动态生成列
- easyui datagrid 动态生成列
- easyui datagrid动态生成列
- Easyui DataGrid动态生成列
- Easyui DataGrid动态生成列
- easyui datagrid 动态生成列
- easyui 动态生成datagrid列
- easyui datagrid 动态生成列
- easyui datagrid 动态生成列
- 演示弹出窗口传递参数,并用参数来动态修改DataGrid的列
- 演示弹出窗口传递参数,并用参数来动态修改DataGrid的列
- Flex中datagrid动态添加列
- Flex中datagrid动态添加列
- Flex中DataGrid动态增加列
- How to Run a Program in Compatibility Mode
- E7210005 操作系统策略不允许该操作 解决
- JavaFX2.0 滚动窗Scroll Pane
- 常用 函数 举例(未完待续...)
- strut1+jxl将后台数据导出为excel
- Flex 动态生成DataGrid列 & 参数传递
- gdb脚本 - 查看stl变量
- 关于C# Winform的画图
- java map 遍历的三种简单的办法
- iOS流量监控
- C++ Boost库
- Java中如何由枚举常量的ordinal值获得枚举常量对象
- vc中Error spawning cl.exe错误的解决方法
- css div布局的简单页面