为什么起始+(加号)不会出现在数据网格的组合框中?

时间:2009-10-15 09:16:31

标签: xml flex datagrid combobox adobe

我使用了几个带有组合框和数据网格的控件,我使用返回一些XML的HTTPService来填充。但是在XML中有一些以加号开头的电话号码(即+123456)。但是在组合框和数据网格中,加号不显示(因此它将显示为12345646)。

我是否使用CDATA无关紧要。当我更改值时,我看到以下内容:

  • +123456:显示为“123456”
  • + 123 + 456:正确显示
  • + abcdef:正确显示
  • + abc456:正确显示
  • + 123def:正确显示
  • + 123 + def:正确显示

所以有两个问题:为什么会出现这种情况,如何防止这种情况并正确显示值?

根据要求提供示例代码。在< mx:Script> -tag:

中的某处
contactsService.send();

在MXML中:

<mx:HTTPService id="contactsService" url="http://some/url/" method="GET" useProxy="false"/>
<mx:ComboBox prompt="Select phone number" dataProvider="{contactsService.lastResult.contacts.contact}" labelField="phonenumber" id="contactsComboBox"/>

尽管如此,这是一个相当简单的设置。

3 个答案:

答案 0 :(得分:2)

我刚刚尝试用+取代加号#{1}}并且这样做了。

希望它适合你

答案 1 :(得分:0)

您可能在代码中的某处将它们转换为数字值。如果确保它们是字符串值,则加号不应消失。

答案 2 :(得分:0)

动作脚本是强类型的,文本是文本,除非你在它上面运行一个函数。数字是数字,除非您对它们运行函数。

直到你开始处理XML。 e4x是 NOT 强类型,所以它最好根据那里的数据找出类型。

您可以通过循环遍历XML并使用toString()函数将值放入数组来解决您的问题。然后使用该数组来提供组合框。