Android 钛安卓-在SQLITE数据库中导航记录

Android 钛安卓-在SQLITE数据库中导航记录,android,sqlite,titanium,titanium-mobile,Android,Sqlite,Titanium,Titanium Mobile,我只是想知道如何使用简单的“前进”和“后退”按钮在sqlite数据库中的记录之间导航 我可以访问数据库并显示记录——我通过创建记录的tableview来实现这一点,然后,如果单击某个记录,它会显示有关该记录的更多详细信息。然后我只想在这个页面上的按钮浏览数据库 我不确定按钮需要应用什么代码 这是窗口的代码 // create var for the currentWindow var currentWin = Ti.UI.currentWindow; var id = currentWin.id

我只是想知道如何使用简单的“前进”和“后退”按钮在sqlite数据库中的记录之间导航

我可以访问数据库并显示记录——我通过创建记录的tableview来实现这一点,然后,如果单击某个记录,它会显示有关该记录的更多详细信息。然后我只想在这个页面上的按钮浏览数据库

我不确定按钮需要应用什么代码

这是窗口的代码

// create var for the currentWindow
var currentWin = Ti.UI.currentWindow;
var id = currentWin.id;


function photoGalleryDidClose(item) {
photoView.image = item.media;
}


var db = Titanium.Database.open('photos');

var sql = db.execute('SELECT * FROM photos where id=?', currentWin.id);

var recordID = sql.fieldByName('id');
var title = sql.fieldByName('title');
var location = sql.fieldByName('location');
var photographer = sql.fieldByName('photographer');
var equipment = sql.fieldByName('equipment');
var caption = sql.fieldByName('caption');
var notes = sql.fieldByName('notes');
var date = sql.fieldByName('date');
var imageUrl = sql.fieldByName('imageUrl');


//Labels to display catalogue details

var labelrecordID = Titanium.UI.createLabel({
    text:'Record ID:',
    font:{fontSize:18},
    top:30,
    left: 10,
    height: 25,
    width:'auto'
})
currentWin.add(labelrecordID);

var labelrecordID1 = Titanium.UI.createLabel({
    text:'  '+ recordID +'',
    font:{fontSize:18},
    color:'black',
    borderRadius: 2,
    top:30,
    left: 150,
    height: 25,
    backgroundColor:'white',
    width:'300'
})
currentWin.add(labelrecordID1);


var labelTitle = Titanium.UI.createLabel({
    text:'Title:',
    font:{fontSize:18},
    top:70,
    left: 10,
    height: 25,
    width:'auto'
})
currentWin.add(labelTitle);

var labelTitle1 = Titanium.UI.createLabel({
    text:'  '+ title +'',
    font:{fontSize:18},
    color:'black',
    borderRadius: 2,
    top:70,
    left: 150,
    height: 25,
    backgroundColor:'white',
    width:'300'
})
currentWin.add(labelTitle1);

//
//I CUT OUT A LOT OF THE CODE HERE AS IT IS JUST THE SAME AS ABOVE...
//

// create a view to add the label and photo
    var photoContainerView = Ti.UI.createView({
        top: 310,
        left: 10,
        height: 230,
        width: Ti.UI.FILL
    });

    var photoLabel = Ti.UI.createLabel({
        text: 'Photo:',
        left: 0,
        height: Ti.UI.SIZE,
        width: Ti.UI.SIZE,
        font:{fontSize:18}      
    });

    photoContainerView.add(photoLabel);

    var photoView = Ti.UI.createImageView({
        image: imageUrl,
        top: 0,
        left: 125,
        height: 200,
        width: 200,
        borderColor: 'gray',
        borderWidth: 1
    });

    photoContainerView.add(photoView);
    currentWin.add(photoContainerView);


// create navigation buttons 
//
var button_previous = Titanium.UI.createButton({
    title: 'Previous',
    color: 'white',
    backgroundColor: '#464646',
    font:{fontSize:20,fontFamily:'Helvetica Neue'},
    bottom: 20,
    left:10,
    width: 100,
    height: 60
});

currentWin.add(button_previous);

var button_next = Titanium.UI.createButton({
    title: 'Next',
    color: 'white',
    backgroundColor: '#464646',
    font:{fontSize:20,fontFamily:'Helvetica Neue'},
    bottom: 20,
    right:10,
    width: 100,
    height: 60
});

currentWin.add(button_next);
我只想将事件侦听器添加到按钮中,这样我就可以返回/前进数据库中的记录,但我不确定从何处开始,以及需要使用什么代码

非常感谢您的建议


JC

使用单击侦听器用新数据刷新表,将当前位置存储在表中,并按如下方式翻页:

var currentPage = 0;
var pageSize = 25;
button_next.addEventListener('click', function(e) {
    currentPage++;
    // Load the data
    var sql = db.execute('SELECT * FROM photos where id>? LIMIT ?', currentPage * pageSize, pageSize);

    .... Your code to convert this statement to actual rows ....

    table.setData(yourUpdatedRowDataArray);
});

“上一步”按钮的工作方式相同,只是相反。

使用“单击侦听器”用新数据刷新表,将当前位置存储在表中,并按如下方式翻页:

var currentPage = 0;
var pageSize = 25;
button_next.addEventListener('click', function(e) {
    currentPage++;
    // Load the data
    var sql = db.execute('SELECT * FROM photos where id>? LIMIT ?', currentPage * pageSize, pageSize);

    .... Your code to convert this statement to actual rows ....

    table.setData(yourUpdatedRowDataArray);
});

“上一个”按钮的工作方式相同,只是方向相反。

谢谢您的帮助-稍加调整就可以了!再次感谢Hanks,稍加调整,效果非常好!再次感谢