我按照此示例(http://www.jqwidgets.com/jquery-widgets-documentation/documentation/java-integration/bind-jquery-grid-to-mysql-database-using-jsp.htm)的步骤进行操作,但是没有要显示的数据。
jqxgrid.jsp文件:

ResultSet result = state.executeQuery(sql1);
JsonArray recordsArray = new JsonArray();
while (result.next()) {
    JsonObject currentRecord = new JsonObject();
    currentRecord.add("id",
            new JsonPrimitive(result.getString("id")));
    currentRecord.add("name",
            new JsonPrimitive(result.getString("name")));
    recordsArray.add(currentRecord);
}

out.print(recordsArray);
out.flush();
在jsp文件中,我可以获得JsonArray的结果:

jqxgrid.html文件:
 $(document).ready(function () {

        var source = {
            datatype: "json",
            datafields: [{name: 'id'},
                         {name: 'name'}],
           url:"jqxgrid.jsp"
        };

        var dataAdapter = new $.jqx.dataAdapter(source, {
            downloadComplete: function (data, status, xhr) { },
            loadComplete: function (data) { },
            loadError: function (xhr, status, error) {alert('Status ='+ status +',  Error ='+ error ); }
        });
        $("#jqxgrid").jqxGrid({
            width: 400,
            autoheight: true,
            source: dataAdapter,
            columns: [{
                text: 'ID',
                datafield: 'id',
                width: 200
            }, {
                text: 'Name',
                datafield: 'name',
                width: 200
            }]
        });
    });
输出中有网格,但未显示任何数据。
(对不起,我无法发布图片。)
得到错误:

我该如何解决这个问题?谢谢!

最佳答案

我认为您的问题是您没有键入源数据描述(客户端)。第4条记录的ID为60,恰好是
如果将datafields:[{name:'id',type:'int'},类型添加到var source = {,则可以解决您的问题。您还可以使用'number'作为id的类型。将'string'类型添加到name字段也可能会有所作为。

希望这对您有用。

关于javascript - JQWidgets-Jqxgrid “no data to display”,JSON解析错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30415157/

10-10 15:51