我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何通过Flex组合框来过滤DataGrid

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何通过Flex组合框来过滤DataGrid

小编给大家分享一下如何通过Flex组合框来过滤DataGrid,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

通过Flex组合框来过滤DataGrid

Flex中一个很普遍的应用就是用Flex组合框过滤显示在DataGrid中的数据。在这个技巧里,目的是把一个“作者”数据库表里的数据显示到DataGrid里,表的结构如下:

CODE:

authorId:String;  authorName:String;  status:String;

◆另外,用户可以选择Flex组合框中包含的不同的作者状态的值来过滤DataGrid显示的作者信息。推荐你把从服务器请求获得的结果转换为ArrayCollection,然后把这个ArrayCollection作为DataGrid的dataProvider。这样做你会发现操作和过滤显示的数据会很变得容易。获取数据超出了现在这个技巧的范围,不过关于这个问题有很多的例子可以参考。

首先,把结果转换为ArrayCollection。

CODE:

importmx.utils.ArrayUtil;   importmx.collections.ArrayCollection;   //event.resultcontainsthedatafromtheauthorssearch.   publicvarauthorsArray:Array=mx.utils.ArrayUtil.toArray(event.result);   //UseauthorsDataProviderasthedataProviderforthedataGrid.   [Bindable]   publicvarauthorsDataProvider:ArrayCollection=newArrayCollection(authorsArray);

◆接下来,把搜索结果中的作者状态值动态加载到Flex组合框中。在这里,数据库中可能的作家状态值是"Active","Inactive"和"Deleted"。但是在进行之前,让我们来回顾一下用例。我们把搜索作者得到的结果通过DataGrid视图向用户显示出来,在看过之后,用户可能希望过滤这些数据让它只显示“Active”的作者。当然,Flex组合框中的"Active","Inactive"和"Deleted"可以直接硬编码,但是如果那样做的话,当数据库中添加了一个新的状态值得时候我们必须修改程序。

而且,Flex组合框中的值应该只包含搜索结果中的作者状态,如果搜索结果只包含状态为"Active"和"Inactive"的作者,Flex组合框应该只包含相应的值(没有”Delete”)。如果所有数据库中可能的作者状态值都在Flex组合框中硬编码,用户就可以选择”Delete”这个值,然后就会看到一个没有任何数据的DataGrid。我们不想困扰用户,所以接下来的代码会动态加载作者状态值到一个数组,然后把这个数组作为Flex组合框的dataProvider。

CODE:

//UsetheauthorsStatusArrayasthedataProviderfortheCombox.   [Bindable]  publicvarauthorsStatusArray:Array=populateAuthorsStatusArray(authorsArray);   publicfunctionpopulateAuthorsStatusArray(authorsArray:Array):Array  {  varstatusArrayHashMap:Object=newObject();  varstatusArray:Array=newArray;   varn:int=authorsArray.length;  for(vari:int=0;i<n;i++)  {  if(statusArrayHashMap[authorsArray[i].status]==undefined)  {  statusArrayHashMap[authorsArray[i].status]=newObject();  statusArray.push(authorsArray[i].status);  }  }  statusArray.sort();  statusArray.unshift("All");   //The"All"valueisusedprogrammaticallytoun-filter(reset)theresultinthedataGrid.  returnstatusArray;  }

下面是mxml写的代码:
CODE:

<mx:Comboxidmx:Comboxid="cboAuthorsStatusFilter" dataProvider="{authorsStatusArray}" change="filterAuthorsGrid();"/>

这就是全部的技巧。因为DataGrid的dataProvider利用了绑定(binding),所以当用户在Flex组合框中选中了一个值的时候,DataGrid会动态显示过滤后的结果。请紧记,这只是一个小技巧而且可能有一些生涩的地方。但是你应该可以通过这些代码领会这种思想。

以上是“如何通过Flex组合框来过滤DataGrid”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何通过Flex组合框来过滤DataGrid

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何通过Flex组合框来过滤DataGrid

小编给大家分享一下如何通过Flex组合框来过滤DataGrid,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过Flex组合框来过滤DataGridFlex中一个
2023-06-17

如何通过PHP8的Sanitize Filters来过滤用户输入?

如何通过PHP8的Sanitize Filters来过滤用户输入?引言:在Web开发过程中,安全性一直是一个不可忽视的问题。用户输入数据的过滤是确保应用程序安全的重要步骤之一。而PHP8中的Sanitize Filters提供了一种简单且高
2023-10-22

如何通过Python/C API中提供相关函数来创建Python元组

这篇文章将为大家详细讲解有关如何通过Python/C API中提供相关函数来创建Python元组,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。如果你在Python/C API中提供 PyTu
2023-06-17

如何通过php接口和ECharts实现统计图的数据分组和聚合

如何通过PHP接口和ECharts实现统计图的数据分组和聚合随着数据分析和可视化需求的增加,通过接口和ECharts实现统计图的数据分组和聚合变得越来越重要。在本文中,我们将介绍如何使用PHP编写接口,并结合ECharts实现数据的分组和聚
如何通过php接口和ECharts实现统计图的数据分组和聚合
2023-12-17

Java如何通过使用一个数组作为键而另一个数组作为其值来创建数组

Java允许使用数组作为键和值创建数组,提供高效搜索和灵活性。使用Map接口(如HashMap、TreeMap、LinkedHashMap)可实现此功能。通过使用数组作为键和值,可以创建复杂、可扩展的数据结构,具有自定义排序和插入顺序等优点。但需要注意数组的可哈希性、对象数组的正确实现、性能和内存消耗等因素,并仔细考虑代码复杂性。
Java如何通过使用一个数组作为键而另一个数组作为其值来创建数组
2024-04-02

PHP如何通过使用一个数组作为键而另一个数组作为其值来创建数组

PHP中创建数组时可以将一个数组作为键,另一个数组作为其值。这通过array_combine()函数或数组语法实现。嵌套数组可表示复杂数据。数组键允许快速检索,而代码可重用性则通过通用函数得以实现。此数据结构适用于数据库映射、配置管理和数据分组等应用场景。
PHP如何通过使用一个数组作为键而另一个数组作为其值来创建数组
2024-04-02

PHP数组打乱顺序后如何通过概率来控制元素的出现顺序?

php 中按概率控制数组元素出现顺序打乱的方法:打乱数组顺序:使用 shuffle() 函数。分配概率:使用 array_map() 为每个元素分配概率(0-1)。排序加权数组:按概率降序排序数组(概率高的元素在前)。提取元素:依次从排序后
PHP数组打乱顺序后如何通过概率来控制元素的出现顺序?
2024-05-02

如何通过索引提升PHP与MySQL的数据分组和聚合查询的效率?

摘要:在使用PHP和MySQL进行数据分组和聚合查询时,优化查询效率非常重要。使用正确的索引可以大大提升查询的速度和性能。本文将介绍如何通过索引来优化PHP与MySQL的数据分组和聚合查询,并提供具体的代码示例。一、什么是索引?索引是一种数
2023-10-21

如何通过索引提升PHP与MySQL的数据分组和数据聚合的效率?

引言:PHP和MySQL是目前应用最广泛的编程语言和数据库管理系统,常常被用于构建web应用程序和处理大量数据。在处理大量数据时,数据分组和数据聚合是常见的操作,但如果不合理地设计和使用索引,这些操作可能会变得非常低效。本文将介绍如何通过索
2023-10-21

Python如何通过分隔符分割文件后按特定次序重新组合的操作

这篇文章主要介绍Python如何通过分隔符分割文件后按特定次序重新组合的操作,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!看代码吧~#-*-encoding:utf-8-*-import os, sys, time,
2023-06-14

Java中如何使用for循环遍历数组并处理元素?(在Java中,如何通过for循环来遍历数组并对每个元素进行操作?)

本篇文章介绍了如何在Java中使用for循环遍历数组并处理各个元素。通过for循环,可以设置循环变量,检查循环条件,并递增循环变量以遍历整个数组。可以使用标准for循环或增强型for循环(也称为for-each循环),后者提供了一种更简洁的遍历方式。通过遍历数组,可以打印、修改或执行其他操作,例如将每个元素乘以特定值。
Java中如何使用for循环遍历数组并处理元素?(在Java中,如何通过for循环来遍历数组并对每个元素进行操作?)
2024-04-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录