3

我在 MVC 4 jqgrid 中创建应用程序,我想根据数据大小或用户选项设置行列表(在 web.config 键、值中设置值)。我尝试使用函数传递值,但我在下拉列表中获取值像这样。请帮助我。

代码:

Method;
          function setRowList() {
                var rownum = "[5,10]";
                return rownum;
            }
        MY grid:
                $("#ApplicationDetailsTable").jqGrid({
                    url: '@Url.Action("AppListDetails", "JQGridHome")',
                    datatype: 'json',

                    colNames: ["no1", "name", "phone"],
                    colModel: [
                        { name: "no1", index: "no1", width: 40, align: "left", stype: 'select', searchoptions: { sopt: ['eq'], value: categoriesStr } },
                        { name: "name", index: "name", width: 100, align: "left" },
                        { name: "phone", index: "phone", width: 200, align: "left" }
                    ],
                    width: 550,
                    loadonce: true,
                    height: 200,
                    toppager: false,
                pager: $("#JQGridPaging"),
                    rowNum:4,
                rowList: setRowList(),
                    viewrecords: true,
                    caption: "A Basic jqGrid - Read Only",

图片

在此处输入图像描述

4

3 回答 3

2

该选项rowList将在创建 jqGrid 期间仅使用一次。因此,要动态更改它,需要替换您可以在寻呼机内部找到的所有<option>元素(或者如果您同时使用和 ,则替换寻呼机)。如果您更改列表的选定选项的值,并且希望 jqGrid 刷新内容,您应该在.<select class="ui-pg-selbox">toppagerpagerchange<select class="ui-pg-selbox">

该演示演示了上述方法。将创建网格rowList: [5, 10, 20],然后将其更改为rowList: [2, 3, 10, 100],选项3将标记为selected

$("#pager").find(".ui-pg-selbox")
    .html('<option role="option" value="2">2</option>' +
          '<option role="option" selected="selected" value="3">3</option>' +
          '<option role="option" value="10">10</option>' +
          '<option role="option" value="100">100</option>')
    .trigger("change");

很明显,可以<option>动态构建列表。我只想清楚地展示应该做什么。

于 2013-08-27T12:05:55.980 回答
1

您声明rownumstring而不是array

测试将该行更改为:

 var rownum = [5,10]; // Quotes ripped out.

所以,当 jQuery 函数显示 时rownum,它是在迭代一个字符串,它的特点是像一个数组但每个字符都被认为是一个数组元素

于 2013-08-27T11:48:19.263 回答
0

您可以直接设置它,因为rowList:[5,10],它不接受字符串,而是将数组作为要分配的值。您可以在此处查看示例。

于 2013-08-27T11:48:48.027 回答