2014-07-10 3 views
0

Je développe une application mobile en utilisant titanium appcelerator. Je veux supprimer une ligne sur une tableview quand je clique sur un alertDialog. voici mon code:Supprimer ligne sur cliquez sur une alerteDialog, en utilisant Titanium

dataArray = [];      
//Insert the JSON data to the table view 
for(var i=0; i<json.length; i++){ 
    var row = Ti.UI.createTableViewRow({ 
        title: json[i].nom, 
        hasChild : true, 
        obj: json[i].titrePro, 
        obj1: json[i].adresse 
        }); 
    row.addEventListener('click',function(e){ 
    //$.tableView.deleteRow(e.row); 
    var alertDialog = Titanium.UI.createAlertDialog({ 
    title: 'A propos '+e.row.title, 
    message: '\nTitre Pro : '+e.row.obj+'\n\nAdresse : '+e.row.obj1+'\n', buttonNames: ['Rejeter','Accepter'], cancel: 1 }); 
    alertDialog.addEventListener('click', function(ev){ 
    if(ev.cancel===true) { 
     Titanium.API.info("Accept button was clicked !"); 
     $.tableView.deleteRow(e.row); 
     } 
    }); 
    alertDialog.show(); 
    }); 
    dataArray.push(row);  
};      
$.tableView.setData(dataArray); 

L'erreur était sur le:

$.tableView.deleteRow(e.row); 

Lors de l'exécution de mon application, le Titanium.API.info("Accept button was clicked !"); était affiché correctement, mais le deleteRow ne fonctionne pas!

+0

Quelle plate-forme iOS ou Android? –

+0

en utilisant la plate-forme android. –

+0

Wahab pouvez-vous m'aider à ce sujet? Merci. –

Répondre

0

Essayez cela, il suffit de remplacer si (ev.cancel === true) avec si (ev.index == 1)

alertDialog.addEventListener('click', function(ev){ 
    if(ev.index== 1) { 
     Titanium.API.info("Accept button was clicked !"); 
     $.tableView.deleteRow(e.row); 
     } 
}); 
+0

Salut Suraj, j'ai essayé avec ceci mais chaque fois que la ligne supprimée réapparaît quand je clique sur une deuxième rangée pour supprime-le ! –

Questions connexes