1

我想使用 ajax、jQuery mobile 和 spring mvc 显示数据库中的数据。

示例:在表格中显示课程名称列表。

我现在正在使用 jqgrid 来显示数据,但是在不使用数据的情况下还有其他选择吗?论坛上有很多,但大多使用 php,但我使用的是 spring mvc 控制器。

请任何人帮助我..

4

1 回答 1

0

不确定 jqgrid 是否适用于 jquery mobile,但对于普通的 Web 应用程序,您可以使用设置为函数的addJSONData方法jsonReader和属性。datatype下面是一个示例:

function cfgWixGenApplicationsGrid() {
    var cond = null;
    $("#tblWixGenApplications").jqGrid({
        datatype: function (postdata) {
            var orderByExpr = "";
            if (postdata.sidx != "") {
                orderByExpr = postdata.sidx + " " + postdata.sord;
            }
            getPageList(cond, postdata.page, postdata.rows, orderByExpr, hSuccPageWixGenApplications, hError);
        },
        colNames: ["Id", "Title", "Name", "Version", "MainAssemblyName"
        ],
        colModel: [
            { name: "Id", index: "Id", width: 50, sorttype: "String", editable: false },

            { name: "Title", index: "Title", width: 50, sorttype: "String", editable: true },

            { name: "Name", index: "Name", width: 50, sorttype: "String", editable: true },

            {name: "Version", index: "Version", width: 50, sorttype: "String", editable: true },

            {name: "MainAssemblyName", index: "MainAssemblyName", width: 50, sorttype: "String", editable: true }
        ],
        multiselect: false,
        pager: "#divPagerWixGenApplications",
        viewrecords: true,
        jsonReader: { repeatitems: false, root: "rows", page: "page", records: "records", total: "total" },
        rowNum: 10,
        rowList: [10, 20, 30]
    });
}

执行getPageListajax 调用,在我的例子中是 WCF 服务。我想你可以在这里调用 MVC url。

hSuccPageWixGenApplications函数调用addJSONData如下:

function hSuccPageWixGenApplications(pageData) {
    var list = [];
    $.each(pageData.List, function (index, value) {
        if (!value.IsDeleted) {
            list.push(value);
        }
    });
    var grid = $("#tblWixGenApplications")[0];
    var pData = new Object();
    var recCount = pageData.RecordCount == null ? 1000 : pageData.RecordCount;
    pData.page = pageData.PageNo;
    pData.records = recCount;
    pData.rows = list;
    pData.total = recCount / pageData.PageSize;
    grid.addJSONData(pData);
};
于 2012-05-14T07:50:07.890 回答