1

我能够让 sqlite 数据显示在 Icenium 控制台窗口上,但不能显示在 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>

我认为我的数据源有问题,但不知道怎么做?

任何人都可以帮忙吗?

谢谢。

4

2 回答 2

1

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

于 2013-05-20T20:03:38.953 回答
0

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

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

应该使用以下行:

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

于 2016-01-18T12:11:13.347 回答