2011-06-22 34 views
0

我想知道是否有可能在服务器上预先配置Flex元素。我有一个自定义ItemRenderer的问题,结果非常缓慢。在服务器上而不是客户端浏览器中预先处理这样的元素会非常酷......不知何故?也许可以在服务器上为此动态生成MXML。创建Flex元素服务器端

这就是它基本上。我为数组列表中的每个数据条目创建一个标签。这个条目被添加到一个BorderContainer中,并在这里作为一个整体进入包含元素。有时候我会以这种方式添加200-300个物品,这在客户端造成了非常高的计算成本。所以我想知道如果我可以将这个作为整个动态mxml元素传递给客户端。

override public function set data(value:Object):void { 

     _data = value as WordResultObject; 

     var data:WordResultObject = _data as WordResultObject; 

     this.removeAllElements(); 

     if(_data!=null) 
     { 


      _l.text = data.wordform; 

      _l.setStyle("fontSize", data.fontSize); 
      _l.setStyle("color", data.color); 

      _l.toolTip = "Frequency: " + data.freq; 

      if(data.date != null) 
      { 

       _l.toolTip += "\nDate: " + AppUtils.TimeString(data.date as Date); 

       _l.addClickEvent(data.id as int, data.date as Date); 
      } 
      _border.addElement(_l); 


      this.addElement(_border); 


     } 
    } 

谢谢

安德烈亚斯

回答

1

我不知道是否有可能 configurate预挠性元件的 服务器上。

不是我所知道的。也许如果你回到Flex 1/1.5,它主要是一个基于服务器的平台。不过,我不希望将代码转换回“旧”服务器会提高效率。你如何期待这项工作?你期望得到什么好处。

这个问题我已经用自定义 的ItemRenderer这原来是 很慢。

显示您的代码;也许我们可以帮助您编写渲染器以提高效率。

+0

我为数组列表中的每个数据条目创建一个标签。这个条目被添加到一个BorderContainer中,并在这里作为一个整体进入包含元素。有时候我会以这种方式添加200-300个物品,这在客户端造成了非常高的计算成本。所以我想知道如果我可以将这个作为整个动态mxml元素传递给客户端。我可以在8小时内发布我的代码 - 由于菜鸟状态 – Andreas

+0

我想我说的是显示一些代码。我可以理解如何增加200-300名儿童可能导致性能问题。你在使用基于列表的类吗?基于列表的类将只呈现屏幕上的元素。因此,即使您的dataProvider中有300个项目,也只能渲染屏幕上的10个[左右]。 – JeffryHouser

+0

我可以在8小时内发布我的代码 - 由于菜鸟状态,我无法回答我自己的问题 – Andreas