Flex 3 AdvancedDataGrid 具有 Tree 與 跨欄 (columnSpan) 的功能
以下利用這兩種特性做出可收合的 DataGrid
MyDataGridGroupItemRenderer Class:
package com.ticore.uicomponents {
import mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer;
public class MyDataGridGroupItemRenderer extends AdvancedDataGridGroupItemRenderer {
public function MyDataGridGroupItemRenderer() {
super();
}
override protected function updateDisplayList(
unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
this.graphics.clear();
this.graphics.lineStyle(1, 0x808080, 1, true);
this.graphics.drawRect(-1, -1, unscaledWidth + 1, unscaledHeight);
}
}
}
Flex MXML Code:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" backgroundColor="#E0E0E0">
<mx:Script>
<![CDATA[
import mx.controls.advancedDataGridClasses.*;
import mx.collections.ArrayCollection;
[Bindable]
private var dpHierarchy:ArrayCollection = new ArrayCollection([
{Region:"Arizona", children: [
{Territory_Rep:"Barbara Jennings", Actual:38865, Estimate:40000},
{Territory_Rep:"Dana Binn", Actual:29885, Estimate:30000}]},
{Region:"Central California", children: [
{Territory_Rep:"Joe Smith", Actual:29134, Estimate:30000}]},
{Region:"Nevada", children: [
{Territory_Rep:"Bethany Pittman", Actual:52888, Estimate:45000}]},
{Region:"Northern California", children: [
{Territory_Rep:"Lauren Ipsum", Actual:38805, Estimate:40000},
{Territory_Rep:"T.R. Smith", Actual:55498, Estimate:40000}]},
{Region:"Southern California", children: [
{Territory_Rep:"Alice Treu", Actual:44985, Estimate:45000},
{Territory_Rep:"Jane Grove", Actual:44913, Estimate:45000}]}
]);
public function groupLabelFunction(item:Object, column:AdvancedDataGridColumn):String{
if (item && item.children) {
return item[column.dataField] + " (" + item.children.length + ")";
} else {
return item[column.dataField];
}
}
]]>
</mx:Script>
<mx:AdvancedDataGrid id="myADG" width="100%" height="100%"
rowHeight="24" headerHeight="24" fontSize="12" displayItemsExpanded="true"
paddingTop="0" paddingBottom="0" paddingLeft="0" paddingRight="0"
folderClosedIcon="{null}" folderOpenIcon="{null}" defaultLeafIcon="{null}" >
<mx:dataProvider>
<mx:HierarchicalData source="{dpHierarchy}" />
</mx:dataProvider>
<mx:rendererProviders>
<mx:AdvancedDataGridRendererProvider columnIndex="0" columnSpan="4" dataField="Region"
renderer="com.ticore.uicomponents.MyDataGridGroupItemRenderer" />
<mx:AdvancedDataGridRendererProvider dataField="Territory_Rep"
renderer="mx.controls.advancedDataGridClasses.AdvancedDataGridGroupItemRenderer" />
</mx:rendererProviders>
<mx:groupedColumns>
<mx:AdvancedDataGridColumn id="col1" dataField="Region" width="20"
labelFunction="groupLabelFunction" />
<mx:AdvancedDataGridColumn id="col2" dataField="Territory_Rep"/>
<mx:AdvancedDataGridColumn dataField="Actual"/>
<mx:AdvancedDataGridColumn dataField="Estimate"/>
</mx:groupedColumns>
</mx:AdvancedDataGrid>
</mx:Application>
分享到:
相关推荐
在TourDeFlexhttp://www.adobe.com/devnet/flex/tourdeflex.html中有个折叠式手风琴控件(Collapsible Accordion),可以折叠手风琴,很酷,但不支持中文。几经尝试发现是由于Flex控件在旋转后中文就不显示了,因此做...
2. **collapsible**: 设置为`true`表示DataGrid可以折叠和展开。 3. **url**: 指定了获取数据的URL路径,这里为`datagrid_data1.json`。 4. **method**: 设置了请求方式,这里为`GET`。 #### 表头配置 接下来,在...
collapsible: true, remoteSort: false, columns: [[ {title: '', field: 'name', width: 300, sortable: true, sorter: function(a, b) { return (a > b ? 1 : -1); }}, {title: '创建时间', field: '...
collapsible: true, fitColumns: true, remoteSort: false, loadMsg: "正在努力加载数据,请稍后...", queryParams: { ProductName: "", Status: "", SqNo: "" }, onLoadSuccess: function(data) { if ...
// collapsible: true, //隐藏按钮 //冻结列 // frozenColumns: [[{ field: "chk", "checkbox": true}]], //复选框 //列 rownumbers: false, //传输参数 queryParams: { "action": "query" }, pagination: ...
`Collapsible-DataGrid-and-GridView-Control.pdf`可能是详细教程或文档,解释了实现的步骤和技术细节;`CollapsibleDataGridDemo.zip`可能是实际的示例项目,包含ASP.NET页面、CSS和JavaScript文件,可以直接运行...
@ mtburdon / react-collapsible React可折叠组件 安装 npm install --save @mtburdon/react-collapsible 用法 import React , { Component } from 'react' import { Collapsible , CollapsibleHead , ...
@ dafcoe / vue-collapsible-panel 使用Vue3构建的易于使用,可定制的可折叠面板/手风琴库。 安装 使用yarn或npm将软件包安装为项目依赖项: $ yarn add @dafcoe/vue-collapsible-panel --- or --- $ npm install ...
aquirdturtle_collapsible_headings 使标题像旧的Jupyter笔记本扩展名和Mathematica笔记本一样可折叠。 通过单击标题单元格左侧创建的插入符号图标或使用快捷方式,可以折叠/取消折叠所选的标题单元格(即,以“#”...
在IT行业中,"collapsible:切换可折叠内容"是一个常见的交互设计元素,广泛应用于网页和应用程序的界面设计中。这种功能允许用户通过点击或触摸来展开或收起内容区域,从而提高界面的清晰度和易用性。尤其在处理大量...
React原生可折叠视图 基于React Native 动画可折叠视图组件 概述 可折叠的常见用例的一个简单组件 ...$ npm install @eliav2/react-native-collapsible-view // or with yarn $ yarn add @eliav2/react-native-collapsi
在"ASP.Net GridView Columns with Collapsible panel Embedded"这个主题中,我们将深入探讨如何在GridView列中嵌入可折叠面板,以实现更复杂的用户界面和交互性。 GridView控件本身是一种用于显示来自数据源(如...
react-navigation-collapsible 文献资料 ≥v5( latest ) v5( latest ) 当前的 ≥v3 v3 v2 v2 :building_construction: 由于的不再支持可折叠Tab导航器。 用法 1-1。 默认标题 // Expo ONLY import { ...
React响应式可折叠部分组件(可折叠) React组件将内容包装...安装通过npm或yarn进行安装npm install react-collapsible --saveyarn add react-collapsible用法可折叠的子元素可以接收任何HTML元素或React组件。 可折叠
肉桂系统托盘可折叠 与 2.6 版本兼容的 Cinnamon 可折叠系统托盘小程序。... 要安装它,只需将这个 repo 签出到你的 Cinnamon 小程序目录中,即~/.local/share/cinnamon/applets/systray-collapsible@hdodenhof.de 。
安装npm install --save react-native-collapsible可折叠用法import Collapsible from 'react-native-collapsible' ;( ) => ( < Collapsible xss=removed> < SomeCollapsedView> < / Collapsible
这就是Collapsible Diffs-crx插件应运而生的背景。本文将详细探讨这一插件的功能、优势以及使用方法。 首先,Collapsible Diffs-crx插件是一款为GitHub用户量身定制的扩展程序,旨在优化代码差异的查看体验。它的...
安装您可以通过composer安装该软件包: composer require digital-creative/collapsible-resource-manager接下来,您必须在Nova中注册该工具。 这通常是在NovaServiceProvider.的tools方法中NovaServiceProvider. ...
更好的是,使用git submodule add https://github.com/alexandruioanp/hugo-universal-collapsible/并创建适当的符号链接。 这样就很容易更新。 渲染时,请确保将CSS和JS文件复制到输出( public )文件夹中。 ...