2013-05-17 31 views
1

我能够获取sqlite数据显示在Icenium控制台窗口但不是ListView。这里是我的代码:Cordova如何将SQLite数据显示到kendo ListView中?

var dbresult; 

function queryDB(tx) { 
    tx.executeSql('SELECT * FROM DemoTable', [], querySuccess, onError); 
} 
function querySuccess(tx, results) { 
    dbresult = results; 
    var len = results.rows.length; 
    console.log("DEMO table: " + len + " rows found."); 
    $("#displayResult").empty(); 

    for (var i = 0; i < len; i++) { 
     console.log("ID = " + results.rows.item(i).id + "Data = " + results.rows.item(i).data); 
    } 

    $("#myListView").kendoMobileListView({ 
     dataSource: kendo.data.DataSource.read({data: results.rows.item().id, group: "id"}), 
     template: $("#myTemplate").html(), 
     fixedHeaders: true 
    }); 
} 

index.html中

<div id="myListView"></div> 

<!--Template--> 
<script type="text/x-kendo-template" id="myTemplate"> 
<h3>${id}</h3> 
<p >${data}</p> 
</script> 

我认为这是错误的东西对我的数据源,但不知道怎么样?

can any1 help?

谢谢。

+0

这当然听起来像是你在正确的轨道上。建议:转到[此链接](http://coenraets.org/blog/2011/10/sample-app-using-the-phonegap-database-api/)并查看 Christophe Coenraets的“employeelist.js”例。还要注意他的index.html如何包装employeelist.js。 – paulsm4

+0

找到答案,看下面 – jameslcs

回答

1

找到答案,只需将sql查询结果放入一个数组即可。然后使用模板中的数组。

0

您的代码的主要问题是您正在读取项目的属性而不是包含数据行的数组。

数据源:kendo.data.DataSource.read({data: results.rows.item().id, group: "id"}),

而应使用行:

数据源:kendo.data.DataSource.read({data: results.rows, group: "id"}),

相关问题