У меня есть список, который отображает содержимое базы данных SQlite, которую я создал.Однако, когда я запускаю функцию для удаления одного из выбранных пользователем элементов из базы данных, элементы все еще отображаются, пока я не обновлю представление (прямо сейчас, нажав «home» и снова войдя в представление).Как я могу получить список для автоматического обновления, когда пользователь удаляет элемент?
Вот моя функция удаления и код списка:
protected function getAllcards():void // retrieve the cards from the DB and display
{
var stmt:SQLStatement = new SQLStatement();
var conn:SQLConnection = new SQLConnection();
stmt.sqlConnection = conn;
conn.open(File.applicationStorageDirectory.resolvePath("FlashCards.db"));
stmt.text = "SELECT cTitle FROM cardItems";
stmt.execute();
myCardsList.dataProvider = new ArrayCollection(stmt.getResult().data);
}
protected function myCardsList_creationCompleteHandler(event:FlexEvent):void //executed when the List completes loading
{
getAllcards();
}
protected function deleteButton_clickHandler(event:MouseEvent):void // pushed delete button
{
if(myCardsList.selectedItem != null)
{
var stmt:SQLStatement = new SQLStatement();
var conn:SQLConnection = new SQLConnection();
stmt.sqlConnection = conn;
conn.open(File.applicationStorageDirectory.resolvePath("FlashCards.db"));
stmt.text= "DELETE FROM cardItems WHERE cTitle = ?";
stmt.parameters[0] = myCardsList.selectedItem.cTitle;
stmt.execute();
refresher();
}
}
приватная функция refresher (): void {var stmt: SQLStatement = new SQLStatement ();var conn: SQLConnection = новый SQLConnection ();stmt.sqlConnection = conn;conn.open (File.applicationStorageDirectory.resolvePath ( "FlashCards.db"));stmt.text = "SELECT * FROM cardItems";// ОБНОВИТЬ СПИСОК ЗДЕСЬ?stmt.execute ();myCardsList.dataProvider = new ArrayCollection (stmt.getResult (). data);}
Список:
<s:List id="myCardsList" x="10" y="10" left="0" right="0" top="0" bottom="0" width="1004"
height="500"
creationComplete="myCardsList_creationCompleteHandler(event)" enabled="true">
<s:itemRenderer>
<fx:Component>
<s:MobileItemRenderer label = "{data.cTitle}"/> // The Application is a mobile app
</fx:Component>
</s:itemRenderer>
</s:List>
Спасибо за любую помощь!=)