- 浏览: 973079 次
- 性别:
- 来自: 珠海
文章分类
最新评论
-
Yunjey:
Yunjey 写道这样子的话、grid中的editable如何 ...
Flex创建可编辑以及分页的DataGrid -
Yunjey:
这样子的话、grid中的editable如何设置啊?!
Flex创建可编辑以及分页的DataGrid -
di1984HIT:
写的很好~~
JCalendar组件 -
sanny81:
此文真棒!感谢一路风尘的奉献!
但我有一疑 ...
Filter发送自定义数据详解 -
umgsai:
求完整demo umgsai@126.com
Flex和Jsp创建用户登入系统
这里主要展示如何使用搜索的关键字过滤DataGrid的行。其实也不是很难,因为DataGrid使用dataProvier可以是 ArrayCollection,并且ArrayCollection本身就有过滤的功能即使用变量filterFunction.所以基本上,你的 DataGrid和dataProvider像如下的定义:
[Bindable] public var dpRows:ArrayCollection;
然后你可以用一种简单的方法来创建过滤的方法:
public function filterResults():void { dpRows.filterFunction = _sortRows; dpRows.refresh(); }
最后,是使用_sortRows方法来对符合过滤关键字的行返回一个ture--那行就可见,否则返回false--那行就被隐藏。
private function _sortRows(item:Object):Boolean { var col:String = cmbCol.selectedItem.data as String; var key:String = keyword.text; key = key.toLowerCase(); if (key != "") { if (col != "any") { var value:String = item[col]; value = value.toLowerCase(); if (value.indexOf(key)>= 0) { return true; } } else { for (var o:String in item) { value = item[o]; value = value.toLowerCase(); if (value.indexOf(key)>= 0) { return true; } } } } else { return true; } return false; }
查看Demo演示
所以全部代码:FilterControl.as
package { import mx.collections.ArrayCollection; import mx.core.Application; import mx.controls.TextInput; import mx.controls.Button; import mx.controls.ComboBox; public class FilterControl extends Application { [Bindable] public var dpColumns:ArrayCollection; [Bindable] public var dpRows:ArrayCollection; public var keyword:TextInput; public var btnFilter:Button; public var cmbCol:ComboBox; public function FilterControl() { } public function init():void { dpColumns = new ArrayCollection(); dpColumns.addItem({data:'any', label:'Any'}); dpColumns.addItem({data:'type', label:'Type'}); dpColumns.addItem({data:'name', label:'Name'}); dpColumns.addItem({data:'url', label:'URL'}); dpColumns.addItem({data:'desc', label:'Descriptiom'}); dpColumns.addItem({data:'tags', label:'Tags'}); dpRows = new ArrayCollection(); var item:Object = new Object(); item.type = "Website"; item.name = "Expectal.com"; item.url = "http://www.expectal.com"; item.desc = "Your Professional Flash Photo Gallery with Slideshow and Background Music"; item.tags = "Flash, Gallery, Slideshow, Music"; dpRows.addItem(item); item = new Object(); item.type = "Website"; item.name = "Franto.com Blog"; item.url = "http://blog.franto.com"; item.desc = "Your Professional Flash Photo Gallery with Slideshow and Background Music"; item.tags = "Flash, Flex, AIR, Tutorial"; dpRows.addItem(item); item = new Object(); item.type = "Tutorial"; item.name = "FlexSpy - Flex/AIR inspector"; item.url = "http://www.franto.com/blog2/flexspy-inspector-in-your-flexair-application"; item.desc = "FlexSpy - Kind of what Firebug does for HTML/Ajax applications but for Flex 2.0/3.0 applications."; item.tags = "Flex, AIR, Tutorial"; dpRows.addItem(item); item = new Object(); item.type = "Tutorial"; item.name = "Quick Outline in FlexBuilder - Ctrl+O"; item.url = "http://www.franto.com/blog2/quick-outline-in-flexbuilder-ctrlo"; item.desc = "Speed up your development with Quick Outline in FlexBuilder"; item.tags = "Flex, AIR, Tutorial"; dpRows.addItem(item); item = new Object(); item.type = "Tutorial"; item.name = "Custom header in DataGrid"; item.url = "http://www.franto.com/blog2/custom-header-in-datagrid"; item.desc = "Custom header in DataGrid"; item.tags = "Flex, AIR, Tutorial"; dpRows.addItem(item); item = new Object(); item.type = "Tutorial"; item.name = "Custom header in DataGrid 2"; item.url = "http://www.franto.com/blog2/custom-header-in-datagrid-part-2"; item.desc = "Custom header in DataGrid - part 2"; item.tags = "Flex, AIR, Tutorial"; dpRows.addItem(item); item = new Object(); item.type = "Tutorial"; item.name = "Quick Outline in FlexBuilder - Ctrl+O"; item.url = "http://www.franto.com/blog2/quick-outline-in-flexbuilder-ctrlo"; item.desc = "Speed up your development with Quick Outline in FlexBuilder"; item.tags = "Flex, AIR, Tutorial"; dpRows.addItem(item); } public function resetFilter():void { keyword.text = ""; filterResults(); } public function filterResults():void { dpRows.filterFunction = _sortRows; dpRows.refresh(); } private function _sortRows(item:Object):Boolean { var col:String = cmbCol.selectedItem.data as String; var key:String = keyword.text; key = key.toLowerCase(); if (key != "") { if (col != "any") { var value:String = item[col]; value = value.toLowerCase(); if (value.indexOf(key) >= 0) { return true; } } else { for (var o:String in item) { value = item[o]; value = value.toLowerCase(); if (value.indexOf(key) >= 0) { return true; } } } } else { return true; } return false; } } }
FilterFunction.mxml:
<?xml version="1.0" encoding="utf-8"?> <FilterControl xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="vertical" applicationComplete="init()"> <mx:Style source="default.css"/> <mx:HBox width="100%"> <mx:Label text="Filter:"/> <mx:TextInput id="keyword" width="100%"/> <mx:ComboBox id="cmbCol" dataProvider="{dpColumns}"/> </mx:HBox> <mx:HBox width="100%" horizontalAlign="right"> <mx:Button label="Filter" id="btnFilter" click="filterResults()" width="150"/> <mx:Button label="Reset" click="resetFilter()" width="150"/> </mx:HBox> <mx:DataGrid width="100%" height="100%" dataProvider="{dpRows}" variableRowHeight="true"> <mx:columns> <mx:DataGridColumn dataField="type" headerText="Type" width="80"/> <mx:DataGridColumn dataField="name" headerText="Name" width="180"/> <mx:DataGridColumn dataField="url" headerText="URL"/> <mx:DataGridColumn dataField="desc" headerText="Description"/> <mx:DataGridColumn dataField="tags" headerText="Tags" width="200"/> </mx:columns> </mx:DataGrid> </FilterControl>
下载地址:http://www.franto.com/blog2/wp-content/uploads/examples/filterfunction/srcview/
评论
1 楼
echozhjun
2009-11-13
在选择any的时候的代码:
for (var o:String in item)
{
value = item[o];
value = value.toLowerCase();
if (value.indexOf(key) >= 0)
{
return true;
}
}
有个小Bug。item本身有个系统key:mx_internal_uid,有可能该UUID中包含搜索的key。那么过滤的内容就不对了。
for (var o:String in item)
{
value = item[o];
value = value.toLowerCase();
if (value.indexOf(key) >= 0)
{
return true;
}
}
有个小Bug。item本身有个系统key:mx_internal_uid,有可能该UUID中包含搜索的key。那么过滤的内容就不对了。
发表评论
-
Rounded Colorized Image Borders
2009-05-16 22:24 1087This week I ran across a really ... -
Flex使用自定义皮肤和字体
2009-03-29 14:57 4245首先介绍两个Flex皮肤网站: 1. Skins and Th ... -
Flex--XML转换成ArrayCollection
2009-03-28 23:24 9676xml数据: <?xml version="1 ... -
Flex使用弹出窗口为DataGrid添加新数据
2009-03-28 21:01 2687经常在Demo中会看到列表,表格等方式来显示数据。当然有时候也 ... -
关于Flex使用Blazeds连接Java后台的一个注意笔记
2009-03-24 16:49 2222今天在做Flex程序测试的时候,发现之前可以通过Blazeds ... -
Flex-设置DataGrid被选择行的风格
2009-03-22 20:54 7217这里例子将展示如何使用用户自定义的item renderer来 ... -
Flex使用JSON格式与Java通信
2009-03-22 00:09 7332在使用Flex,Java,Json更新Mysql数据【高级篇】 ... -
Flex--主程序与弹出窗口之间传递数据
2009-03-20 23:08 2683主程序:TitleWindowDataTest.mxml & ... -
Flex中显示手型鼠标
2009-03-06 21:40 5228有些时候,我们需要在Flex组件上--Label或者Butto ... -
Flex与JSON及XML的互操作
2009-03-01 17:18 1925作者 Jack Herrington 译者 张凯 ... -
Flex代码格式化插件
2009-03-01 16:52 2750在7Yue 那里看到这个轻巧实用的Eclipse插件,它可以 ... -
Flex-CUBlog排行榜解析
2008-07-29 20:55 1984不知道为什么一直有一个想法把CUBlog排行榜的数据提取出来放 ... -
使用Flex,Java,Json更新Mysql数据【高级篇】
2008-06-24 20:21 5845前面已经介绍如何使用Flex,java,json来更新dat ... -
Flex+Java Servlet文件上传实例
2008-06-23 21:05 20313资源都是来自网上。本实例将展示使用Flex和java serv ... -
Flex和Jsp创建用户登入系统
2008-06-22 16:16 4307在开始之前我们先来看下效果:【userName==passwo ... -
Flex中嵌入Google地图
2008-06-18 22:29 5985在我们开始之前,先来看一个例子:http://scriptpl ... -
Flex程序发布
2008-06-17 23:32 4019当你写好了一个Flex程序,想要按照某种方式发布。比如我们在 ... -
Flex自定义Alert窗口显示位置
2008-06-16 18:25 6346好像Flex3也没有找到可以直接使用的(x,y)的方法来指定A ... -
Flex支持滑轮滚动
2008-06-16 18:23 3450有些时候需要在Flex界面中支持鼠标的滑轮滚动功能,比如通过滑 ... -
Flex实现简单的Email发送
2008-06-14 16:35 4396本文主要介绍和实现怎么使用Flex-java来实现Em ...
相关推荐
本示例"flex-datagrid-advancedDataGrid-demo"显然是为了演示如何在Flex应用中有效地使用这两种数据网格控件。 首先,DataGrid是最基础的数据展示组件,它允许开发者以表格的形式展示数据,支持排序、选择和编辑等...
flex-datagrid中,双击选中的数据,自动把数据移动到另一个datagrid里 希望可以帮助新的新手!
Flex DataGrid是一款在Adobe Flex开发环境中广泛使用的组件,主要用于展示和操作大量结构化的数据。它是一种灵活的表格视图,可以轻松地实现数据的排序、筛选、分页等功能。在这个"Flex-DataGrid源码及资料"的压缩包...
标题中的“使用搜索的关键字过滤DataGrid的行”是指在数据网格(DataGrid)控件中,通过输入关键字实现对显示行的实时筛选。在IT领域,DataGrid是一种常见的组件,用于展示大量的结构化数据,常见于桌面应用或Web...
JeasyUI DataGrid是一款基于jQuery的轻量级组件,它为开发者提供了丰富的功能,如数据分页、排序、过滤等,极大地提高了开发效率。本文将深入探讨JeasyUI DataGrid的使用方法、特性以及常见问题的解决方案。 1. **...
EasyUI 是一个基于 jQuery 的前端框架,用于快速构建用户界面,尤其适合开发管理类Web应用。其中 Datagrid 是 EasyUI 的一个...在实际项目中,根据需求可以进一步扩展 Datagrid 的功能,如增加过滤、搜索、导出等特性。
jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip jeasyui-datagrid-datagrid2.zip
EasyUI DataGrid的过滤功能通过在列头添加过滤图标实现,用户可以输入文本、选择范围或者使用下拉框等进行过滤。过滤条件可以是单一的,也可以组合使用,提供了非常灵活的筛选机制。 在实际应用中,这些功能对于...
UI设计在一个系统中的重要性是不容忽视的,我们开发人员要做到:让用户去控制...给你的Easyui-DataGrid 表头添加一点料吧 Easyui-Datagrid—表头灵活显示http://blog.csdn.net/u010293698/article/details/47956865
开发者通常会使用这些数据来模拟实际环境,检查 Datagrid 的显示、编辑和操作是否正常。 在实践中,EasyUI Datagrid21 演示实例不仅教会我们如何创建和配置 Datagrid,还涵盖了前端与后端的数据交互,以及如何利用...
总结,"wpf-datagrid-access DB"的主题涵盖了如何在WPF应用中使用Datagrid控件与Access数据库进行数据操作。通过理解数据绑定、MVVM模式以及ADO.NET组件的使用,开发者可以创建出功能强大的数据驱动的WPF应用程序。
首先,Datagrid 是 EasyUI 提供的一种表格控件,它可以展示大量结构化的数据,并支持排序、分页、过滤等多种功能。在拖拽效果中,用户可以直观地将一行或多行数据从一个 Datagrid 拖动到另一个 Datagrid,实现数据的...
在Flex开发中,Datagrid组件是用于展示数据集的一个强大工具,它允许用户以表格的形式查看和操作数据。本文将深入探讨如何在Flex的Datagrid中实现数据的合计与平均值计算,帮助开发者更好地理解和应用这些功能。 ...
这个主题——"flex 自定义 datagrid 列头带组合框进行过滤",涉及到的关键知识点包括Flex组件定制、DataGrid列头的扩展以及ComboBox控件的使用。 1. Flex组件定制: 在Flex中,我们可以使用MXML和ActionScript来...
如果你使用webpack和css-loader ,你可以要求它: require('react-datagrid/index.css') 例子 var React = require ( 'react' ) var DataGrid = require ( 'react-datagrid' ) var data = [ { id : '1' , ...
通过以上知识点,我们可以了解到,Flex教程DataGrid归类涉及到的主要内容包括Flex基础、DataGrid组件的使用和定制,以及如何通过MXML和ActionScript对DataGrid进行操作和数据绑定。开发者需要掌握这些知识点才能在...
flex中dataGrid导出数据到excel中,不存在乱码问题
3. **高效开发**: 描述中提到的“高效表格开发技术实例”,意味着教程可能会涉及如何优化DataGrid的性能,如通过虚拟化技术减少内存消耗,使用数据代理减少数据绑定的复杂性,以及如何利用分页和过滤功能来提升用户...