【问题标题】:How can I programmatically enter the edit mode in a Tree Control inside a Flex Application如何以编程方式在 Flex 应用程序内的树控件中进入编辑模式
【发布时间】:2010-01-17 09:22:17
【问题描述】:

我的 Flex 应用程序中有一个树形控件,我想在双击树形项目时对其进行编辑。我找到了属性 doubleClickEnabled="true"、doubleClick="startEditMode()" 和 editable="true"。使用这些功能,我可以检测到双击,并且可以根据双击将可编辑属性更改为 true。

问题是,在我双击一个项目后,我必须再次单击才能真正进入编辑模式。这似乎根本不直观......

有人知道这个问题的解决方案吗?

谢谢 马库斯

【问题讨论】:

    标签: apache-flex editmode


    【解决方案1】:

    马克鲁斯,

    查看发布在以下位置的解决方案:

    http://www.sephiroth.it/weblog/archives/2009/12/flex_3_tree_double-click_to_edit.php

    应该正是您要找的!

    -大卫

    【讨论】:

      【解决方案2】:

      当单击itemRenderer 并将其editable 设置为true 时,ListTree 的超类)进入编辑模式。在您的情况下,editable 是 false,当您单击它时 - 它仅在 doubleClick 事件处理程序中设置为 true。因此,这是预期的行为,但在这种情况下并不需要。

      试试这个:在将editable 设置为true 后,从dobleClick 事件处理程序中使用单击的itemRenderer 调度click

      clickedItemRenderer.dispatchEvent(new MouseEvent(MouseEvent.CLICK));
      

      我没有对此进行测试,但我认为这可能会让 flex 相信在将 editable 设置为 true 后再次点击了该项目。如果这不起作用,请发布一个工作代码,以便我们对其进行调整并尝试提出解决方案。

      【讨论】:

        【解决方案3】:

        【讨论】:

          【解决方案4】:

          这是适合我的解决方案:

                  private var ignoreEditing:Boolean = true;
                  protected function doubleClickHandler(event: MouseEvent ):void
                  {
                      ignoreEditing = false;
                  }
          
                  protected function itemEditBeginningHandler(event:ListEvent):void
                  {
                      if(ignoreEditing){
                          event.preventDefault();
                      }
                      else{
                          ignoreEditing = true;
                      }
                  }
          

          <mx:Tree
              doubleClickEnabled="true" 
              editable="true"
              itemEditBegin="itemEditBeginningHandler(event)" 
              doubleClick="doubleClickHandler(event)"
              />
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-10-29
            • 2012-11-19
            • 1970-01-01
            • 2013-04-23
            • 1970-01-01
            • 2013-08-05
            • 2014-01-18
            • 1970-01-01
            相关资源
            最近更新 更多