`
darrenzhu
  • 浏览: 802667 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex中无法选中DataGrid组件的行

阅读更多
Cannot select certain rows in List component or DataGrid component

The problem is that for each item in data provider, we must get a unique ID (UID) for it, if two or more items in data provider get the same UID after call itemToUID method, then we only can select one of them and can never successful to select the rest of them. To avoid this problem, refer to the following itemToUID method to understand how Flex components generate the UID and avoid generating the same UID.
Please Note, the following method itemToUID are quoted from class ListBase of SDK source code. 
We can use: copyOfOldObject= ObjectUtil.copy(oldObject) to get a new instance, then when we add  the copy to the ArrayCollection which is the binding source of dataProvider, we will get different UID for each instance, then we won’t have the problem.
    /**
     *  Determines the UID for a data provider item.  All items
     *  in a data provider must either have a unique ID (UID)
     *  or one will be generated and associated with it.  This
     *  means that you cannot have an object or scalar value
     *  appear twice in a data provider. For example, the following
     *  data provider is not supported because the value "foo"
     *  appears twice and the UID for a string is the string itself:
     *
     *  <blockquote>
     *  <code>var sampleDP:Array = ["foo", "bar", "foo"]</code>
     *  </blockquote>
     *
     *  Simple dynamic objects can appear twice if they are two
     *  separate instances. The following is supported because
     *  each of the instances will be given a different UID because
     *  they are different objects:
     *
     *  <blockquote>
     *  <code>var sampleDP:Array = [{label: "foo"}, {label: "foo"}]</code>
     *  </blockquote>
     *
     *  Note that the following is not supported because the same instance
     *  appears twice.
     *
     *  <blockquote>
     *  <code>var foo:Object = {label: "foo"};
     *  sampleDP:Array = [foo, foo];</code>
     *  </blockquote>
     *
     *  @param data The data provider item.
     *
     *  @return The UID as a string.
     */
    protected function itemToUID(data:Object):String
    {
        if (data == null)
            return "null";
        return UIDUtil.getUID(data);
    }
分享到:
评论

相关推荐

    flex中的datagrid的分页定位以及高亮显示

    在Flex开发中,`Datagrid`组件是一种常用的展示数据列表的控件,而分页和数据高亮显示是提升用户体验的重要功能。本篇主要探讨如何在Flex的`Datagrid`中实现分页定位和高亮显示。 首先,分页定位涉及的主要任务是...

    flex 三状态多选 自动分页DataGrid

    开发者需要对Flex的组件体系、数据模型、事件处理以及UI设计有深入理解,才能有效地实现这样一个功能丰富的DataGrid组件。通过不断学习和实践,开发者可以构建出更加高效、易用的数据管理界面。

    Flex dataGrid 全选、反选

    在Flex编程中,DataGrid组件是用于展示结构化数据的强大工具。它允许用户对数据进行排序、筛选和编辑。在实际应用中,我们经常需要实现全选和反选功能,以便用户可以一次性选择或取消选择所有条目。本文将详细讨论...

    Flex4 DataGrid控件行编辑项目

    在Flex4.6开发环境中,...总的来说,这个Flex4.6的DataGrid行编辑项目展示了如何通过定制和扩展DataGrid组件,提高用户界面的交互性和功能性。开发者可以在此基础上进一步定制,以适应不同的业务需求和用户体验。

    Flex Datagrid全选功能

    在Flex编程中,Datagrid组件是用于展示数据集的一个强大工具,它允许用户进行交互式的数据浏览和操作。"Flex Datagrid全选功能"是指在Datagrid中实现一个功能,让用户能够一键选择所有行,这在处理大量数据时非常...

    flex datagrid 嵌套checkbox实现全选

    1. **Flex DataGrid组件**: Flex DataGrid是Adobe Flex框架中的一个组件,用于显示结构化的数据集。它可以自动生成列,并根据数据源动态调整大小。DataGrid支持排序、分页、筛选等功能,是UI设计中处理大量数据的...

    Flex DataGrid CheckBox 一个简单的全选

    在Flex开发中,DataGrid组件是一个非常常用的控件,它用于展示数据集合,并提供交互式操作,如排序、选择等。本示例聚焦于DataGrid中的CheckBox集成,特别是实现一个全选的功能。以下是对这个主题的详细解释: 一、...

    flex下拉dataGrid

    在Flex开发中,"flex下拉dataGrid"是一种常见的用户界面组件组合,它结合了下拉菜单(Dropdown)和数据网格(DataGrid)的功能,用于提供丰富的数据选择体验。这样的设计通常用于当用户需要从一个较大的数据集合中...

    flex 自定义 datagrid 列头带组合框进行过滤

    然后,在这个自定义组件中,我们需要监听ComboBox的事件,如`change`事件,当用户在组合框中选择一个值时触发此事件。接着,我们需要获取DataGrid的`dataProvider`,并根据用户选择的过滤条件更新它。 3. ComboBox...

    flex datagrid

    Flex DataGrid 是 Adobe Flex 中一个重要的组件,用于展示结构化数据。它以表格形式呈现,非常适合用来显示多列数据,并提供了排序、选择、编辑等多种功能。在这个教程中,我们将深入探讨 DataGrid 的基本使用和一些...

    flex datagrid 标题栏添加 checkbox 和 数据行 checkbox 连动

    在Flex开发中,数据网格(DataGrid)是一种常用的组件,用于展示结构化的数据。当我们需要在数据网格中实现复选框功能,以便用户可以多选数据行时,通常会遇到两个主要需求:一是如何在标题栏添加复选框,二是如何使...

    FLEX datagrid应用实例

    在本文中,我们将深入探讨基于Adobe Flex的DataGrid组件的应用实例。Flex是一种强大的富互联网应用程序(RIA)开发框架,主要用于构建交互式、响应式的Web应用。DataGrid是Flex中的一个核心组件,它允许开发者以表格...

    flex带复选框的datagrid

    根据给定的文件信息,我们可以总结出关于Flex中带复选框的DataGrid的知识点,主要涉及Flex框架下的DataGrid组件及其自定义扩展,具体包括CheckBoxColumn、CheckBoxHeader和CheckBoxRenderer这三个类的设计与实现。...

    flex-带checkbox的datagrid

    标题"flex-带checkbox的datagrid"指的是在Flex Datagrid组件中集成复选框(checkbox)的功能。这种功能常用于多选操作,例如用户可以选择一组数据项进行批量删除、编辑或其他操作。下面将详细介绍如何在Flex中实现带...

    flex在DataGrid中实现checkbox全选或取消

    本文将深入探讨如何在Flex中的DataGrid组件中实现复选框的全选与取消全选功能,这对于数据操作和用户交互至关重要。 在Flex的DataGrid组件中,我们通常会遇到这样的需求:当用户需要对多条记录进行批量操作时,如...

    flex datagrid doubleclick 实例

    在标题“flex datagrid doubleclick 实例”中,我们关注的是如何实现DataGrid组件对用户双击事件的响应。双击事件通常用于执行更复杂的操作,例如编辑选定的记录或触发一个新的视图。以下将详细介绍这一功能的实现...

    flex Datagrid checkbox全选

    在Flex开发中,Datagrid是一种常用的组件,用于展示表格数据,而checkbox全选功能则是提高用户体验的一个重要特性。本文将详细讲解如何实现Flex Datagrid中checkbox的全选功能。 首先,我们要了解Flex Datagrid的...

    Flex DataGrid 内嵌ComboBox 再内嵌一个 DataGrid

    本文将深入探讨如何在Flex DataGrid组件中内嵌ComboBox,并且ComboBox中再内嵌一个DataGrid,这是一项高级的UI设计技术,能够提供复杂的数据展示和交互功能。 首先,让我们理解Flex DataGrid组件。DataGrid是Flex中...

    flex spark DataGrid 拖动删除

    在Flex开发中,Spark DataGrid是一个常用的组件,用于展示数据表格。然而,当涉及到自定义交互,如拖动删除功能时,开发者可能会遇到问题,因为MX组件与Spark组件的实现方式有所不同。MX DataGrid和Spark DataGrid在...

    flex中dataGrid全选和全不选功能

    DataGrid组件依赖于数据提供者(dataProvider),通常是一个 ArrayCollection 或者其他的可迭代集合。DataGrid会根据这个数据提供者来动态创建行,并显示其中的数据。每个单元格可以通过指定itemRenderer来自定义其...

Global site tag (gtag.js) - Google Analytics