这是一个灵活的新手。 我已经测试了
中的'回答2'代码但是我对它进行了修改:抛出一个按钮,其目的是在点击后用数据填充列表;结果是半成功,在列表中找回“[object Object]”而不是数据;如何克服这个问题? Flex是4.6,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
title="">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:layout>
<s:VerticalLayout paddingTop="10" paddingLeft="10"/>
</s:layout>
<fx:Script>
<![CDATA[
import flash.data.SQLConnection;
import flash.data.SQLStatement;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import mx.collections.ArrayCollection;
private function getData():ArrayCollection
{
var stmt:SQLStatement = new SQLStatement();
stmt.sqlConnection = new SQLConnection();
stmt.sqlConnection.open(File.applicationStorageDirectory.resolvePath("assets/test.sqlite"));
stmt.text = "SELECT one, two FROM zero";
stmt.execute();
var result:Array = stmt.getResult().data;
resultArr = new ArrayCollection();
if (result)
{
resultArr.source = result;
}
return resultArr;
}
[Bindable]private var resultArr:ArrayCollection = new ArrayCollection();
protected function button1_clickHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
getData();
}
]]>
</fx:Script>
<s:Button label="OK" click="button1_clickHandler(event)"/>
<s:List width="302" height="234" dataProvider="{resultArr}"></s:List>
</s:View>
感谢任何想要帮助我的人。
答案 0 :(得分:0)
获取[object Object]
,因为返回的数据有多个值(第一列和第二列)。您需要告诉应用程序您想要显示的是什么。
尝试设置labelField参数,看看你得到了什么:
<s:List width="302" height="234" dataProvider="{resultArr}" labelField="one"></s:List>