2012-06-08 2 views
0

вот гибкий новичок. Я проверил код «2» ответа отsqlite + flex 4.6 + сомнение в массиве

Connecting Flex to SQLite

, но я изменил его: в забросил кнопку, целью которой является, чтобы заполнить список с данными, после нажатия; результат - полууспех, вернул «объект объекта» в списке вместо данных; как преодолеть эту проблему? 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

Вы получаете [object Object], потому что возвращаемые данные имеют несколько значений (столбцы один и два). Вам нужно будет сообщить программе, что вы хотите отобразить.

Попробуйте установить параметр labelField и посмотреть, что вы получите:

<s:List width="302" height="234" dataProvider="{resultArr}" labelField="one"></s:List> 
+0

Нет Проб, если это правильно, флаг как ответил так другие люди могут доверять :) – Nate

+0

Решено! Благодаря!! – shazbat

+0

Рядом с ответом, где есть стрелки вверх и вниз и номер, вы должны иметь область, чтобы отметить ее как принятую. :) – Nate