繁体   English   中英

具有数组集合的 Flex 树控件

[英]Flex tree control with array collection

我已经为此苦苦挣扎了几个小时! 我真的需要帮助

我试图用通过 arraycollection 引入的外部 xml 文件填充树控件,但我需要将 xml 数据分组以显示在树中

好的,我的外部 xml 文件称为 parts.xml,它看起来像这样:

<NewDataSet>
    <Parts>
        <PartGroup>51 Series</PartGroup>
        <PartType>20051</PartType>
        <PartNumber>20051-3</PartNumber>
        <PartDesc>Reusable Socket-51 SER</PartDesc>
        <PartImageFile />
    </Parts>
    <Parts>
        <PartGroup>51 Series</PartGroup>
        <PartType>20051</PartType>
        <PartNumber>20051-4</PartNumber>
        <PartDesc>Reusable Socket-51 SER</PartDesc>
        <PartImageFile />
    </Parts>
    <Parts>
        <PartGroup>51 Series</PartGroup>
        <PartType>20151</PartType>
        <PartNumber>20151-12-12</PartNumber>
        <PartDesc>Penis</PartDesc>
        <PartImageFile>20151-vi copy.jpg</PartImageFile>
    </Parts>
    <Parts>
        <PartGroup>90 Series</PartGroup>
        <PartType>090</PartType>
        <PartNumber>090-20B</PartNumber>
        <PartDesc>Replace Ferrule-90 SER</PartDesc>
        <PartImageFile>090 copy.jpg</PartImageFile>
    </Parts>
    <Parts>
        <PartGroup>90 Series</PartGroup>
        <PartType>090</PartType>
        <PartNumber>090-4B</PartNumber>
        <PartDesc>Replace Ferrule-90 SER</PartDesc>
        <PartImageFile>090 copy.jpg</PartImageFile>
    </Parts>
    <Parts>
        <PartGroup>90 Series</PartGroup>
        <PartType>20090</PartType>
        <PartNumber>20090-12</PartNumber>
        <PartDesc>Replacement Socket-FA</PartDesc>
        <PartImageFile>20090-vi copy.jpg</PartImageFile>
    </Parts>
    <Parts>
        <PartGroup>90 Series</PartGroup>
        <PartType>20090</PartType>
        <PartNumber>20090-12C</PartNumber>
        <PartDesc>Replacement Socket-FA, SS</PartDesc>
        <PartImageFile>20090-vi copy.jpg</PartImageFile>
    </Parts>
</NewDataSet>

这只是一个示例(实际的 xml 长 7591 行)。

接下来我使用

<mx:HTTPService id="getPartsXml" url="assets/db/Parts_DB.xml" result="partsDB=getPFDXml.lastResult.NewDataSet.Parts"/>

让 xml 进入 flex。 partsDB 是一个已绑定到树控件的数组集合。

我遇到的问题是让树按照我需要的方式显示数据而不丢失任何其他数据。

我的意思是,从上面的 xml 我需要树像这样显示

+-51 series
|  +->20051
|  |  |->20051-3
|  |  |->20051-4
|  |
|  +->20151
|     |->20151-12-12
|
+-90 Series
   +->090
   |  |->090-20B
   |  |->090-4B
   |
   +->20090
      |->20090-12
      |->20090-12C

此外,我打算让用户拥有巨大的零件树,他们 select 在零件编号级别创建一个节点,然后将其拖放到显示零件的所有其他标签的数据网格上。

我试过很多东西都没有运气。 即使是现在,我也在想也许如果我循环遍历数组集合并为树创建一个新数组以使其以我需要的方式显示,那么当用户将一个部分拖放到网格上时我会有这样的代码将在原始 arraycollection 中查找该部件号并将其添加到仅用于数据网格的新数组中......我仍然不知道如何为树创建新数组:! 因为 xml 数据按零件组分组,然后在获得各个零件号之前再次按零件类型分组:(

我希望这是有道理的

你有 2 个组件。 第一个(树)没有正确显示数据:

  1. 树期望分层数据。 您的 XML 数据是平坦的(但在数组集合中)。 将其与GroupingCollection2 分组
  2. 或者使用 AdvancedDataGrid 来模拟这样的树控件。

至于数据网格,您很可能让它与自己的集合一起工作,但使用第一个组件集合中的对象进行馈送:

  1. 双击/拖放从 1 到 2 导致插入到 2 的集合中(检查它是否已经存在)
  2. 您可能还需要包括一种从 2 中删除的方法,否则您将拥有一个始终填充且从未清除的组件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM