在Appcelerator中使用“move”时更新数据库中TableView的行号

时间:2015-03-20 09:33:57

标签: ios sqlite tableview appcelerator appcelerator-mobile

我有一个带有编辑功能的桌面视图,我可以上下拖动我的行并改变它们的位置。

这很好用,我有一个小的SQL函数来更新移动行的位置ID。

我遇到的问题是它不会同时更新其他行。 我该怎么做?

例如,我们从这开始......

位置1:第1行 第2位:第2行 第3位:第3行 第4位:第4行

您将Row4移动到位置2,并使用下面的脚本将其更新为正确的脚本。问题是Row2然后下降到位置3而Row3下降到位置4,但它们显然不会改变它们的position_id。

这是关于'move'监听器的代码

tableView.addEventListener('move', function(e) {

var newRow = e.row.row + 1;

Ti.API.info(e.rowData.speciesID + ' ' + e.rowData.speciesName + ' moved to position ' + newRow);


// update the order number
var db3 = Ti.Database.open('myDB');
db3.execute('UPDATE tour SET position_id=? WHERE tourItemID=?',newRow,e.rowData.speciesID);

db3.close();   });

有关如何将所有行更新为正确的'position_id'的建议?

在iOS 8.2上运行最新的Titanium

西蒙

0 个答案:

没有答案