在javascript中使列名称动态化

时间:2016-04-13 14:15:51

标签: javascript jquery jqgrid

伙计们,我希望列名称是dinamic,如果它被更改,所以我不必把它变成namually ..这是我的代码

jqGrid11.prototype = {
	display : function() {
		$('body').append(this.html.join(""));

		$("#jqGrid").jqGrid({
			url : "index.jsp",
			colModel : [ {

				label : 'Department Name',
				name : 'Department Name ',
				width : 200
			}, {
				label : 'id',
				name : 'id',
				key : true,
				width : 200
			}, {
				label : 'Employees',
				name : 'Employees ',
				width : 500

			} ],
			viewrecords : true,
			width : 780,
			height : 250,
			rowNum : 20,
			pager : "#jqGridPager"
		});

		for (var i = 0; i < this.data.length; i++) {
			$("#jqGrid").jqGrid("addRowData", i + 1, this.data[i]);
		}

	}
};

所以我希望动态生成部门名称,ID和员工

1 个答案:

答案 0 :(得分:1)

你应该从不使用包含空格的name colModel属性。 name将用于构造某些元素的ID,而HTML5禁止使用addRowData。{/ p>

您永远不应该在循环中使用url : "index.jsp"填充网格。这是填充网格的最慢方式。

您使用datatype而未指定datatype: "xml"。它默认使用this.data。另一方面,您写道您希望使用JSON作为输入。

如果您将输入数据作为项目数组(datatype: "local", data: this.data),则应使用rowNum: 20,这将使用数据创建jqGrid 并显示第一页数据(基于tsd)。

我建议您验证哪个版本的jqGrid以及您使用的jqGrid的哪个分支。我建议你使用free jqGrid 4.13.2 - 我开发的当前版本的免费jqGrid fork。