使用 IList 作为 dataProvider 的 DropDownList 中的空白条目

发布于 2024-10-14 08:49:58 字数 473 浏览 3 评论 0原文

我正在动态创建一个 IList 以用作 Flex 中 DropDownList 的数据提供程序。

该代码正确创建了 IList,并且我可以很好地访问其中的数据。

但是,当我为 DropDownList 设置数据提供程序时,它仅显示列表中每个项目的空白条目。

因此,如果 IList 中有 30 个项目,则下拉列表中将有 30 个空白点。

这是我正在使用的代码。

categoryXML = new XML(loader.data);

for each(var category in categoryXML.category) {
    categoryArr.addItem(category.name);
}

categoryList = categoryArr;
cats2.dataProvider = categoryList;

什么可能导致这种情况?我似乎无法通过谷歌找到任何东西。

I'm dynamically creating an IList to use as a dataprovider for a DropDownList in Flex.

The code is creating the IList correctly, and I can access the data inside just fine.

However, when I set the dataprovider for my DropDownList, it only shows blank entries for each item in the list.

So, if I had 30 items in my IList, I will have 30 blank spots in my dropdown.

Here's the code I'm using.

categoryXML = new XML(loader.data);

for each(var category in categoryXML.category) {
    categoryArr.addItem(category.name);
}

categoryList = categoryArr;
cats2.dataProvider = categoryList;

What could cause this? I can't seem to find anything via Google.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

飘逸的'云 2024-10-21 08:49:58

如果不查看实际数据,很难判断。但是,您似乎正在创建一个字符串数组。我不知道 Spark 列表如何处理简单值。

您可以尝试这样的操作:

for each(var category in categoryXML.category) {
    var newObject : Object = new Object();
    newObject.label = category.name;
    categoryArr.addItem(newObject.);
}

但是,如果category.name 是一个复杂的XML 对象,那么您可能需要创建一个labelFunction。像这样:

public myLabelFunction(item:Object):String{
  return item.valueToDisplay;
}

并将其设置在列表中,如下所示:

myList.labelFunction = myLabelFunction;

It's hard to tell without looking at your actual data. But, it appears you are creating an array of Strings. I have no idea how a Spark list handles simple values.

You might try something like this:

for each(var category in categoryXML.category) {
    var newObject : Object = new Object();
    newObject.label = category.name;
    categoryArr.addItem(newObject.);
}

However, if category.name is a complex XML object, then you'll probably need to create a labelFunction. Something like this:

public myLabelFunction(item:Object):String{
  return item.valueToDisplay;
}

And set it on the list like this:

myList.labelFunction = myLabelFunction;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文