gpt4 book ai didi

JQGrid 设置标题和列名

转载 作者:行者123 更新时间:2023-12-02 19:43:33 24 4
gpt4 key购买 nike

我有一个 JQGrid 有 2 列,我将在其中访问服务器并获取一些数据,然后我将根据服务器上的过滤器连接一些字符串,并希望将其设置为标题,并且还想更改列名称基于这些过滤器。有没有办法根据服务器的 ActionResult 设置标题和列名称?

最佳答案

我发现你的问题很有趣。

我们可以从简单的网格开始:

$("#list").jqGrid({
url: 'ColumnNamesAndTitelFromServer.json',
datatype: 'json',
loadonce: true,
colNames: ['Name', 'Email'],
colModel: [
{name: 'name', width: 100},
{name: 'email', width: 150}
],
rowNum: 5,
rowList: [5, 10, 20],
pager: '#pager',
gridview: true,
rownumbers: true,
sortname: 'name',
sortorder: 'asc',
caption: 'Just simple local grid',
height: 'auto'
});

和 JSON 数据:

{
"total": 1,
"page": 1,
"records": 2,
"rows": [
{"id": "id1", "cell": ["John", "john@example.com"]},
{"id": "id2", "cell": ["Michael", "michael@example.com"]}
]
}

我们将收到以下结果

enter image description here

(参见 the demo )

现在我们使用自定义附加信息扩展 JSON 数据:

{
"total": 1,
"page": 1,
"records": 2,
"rows": [
{"id": "id1", "cell": ["John", "john@example.com"]},
{"id": "id2", "cell": ["Michael", "michael@example.com"]}
],
"userdata": {
"title": "Das ist der Titel bestimmt beim Server",
"columnNames": {
"name": "Die Name",
"email": "Die E-Mail"
}
}
}

在上面的示例中,我只是在 userdata 中用德语定义网格的标题和列名称。要读取和使用 userdata,我们可以将以下 loadComplete 事件处理程序添加到网格:

loadComplete: function () {
var $grid = $(this), columnNames, name,
userdata = $grid.jqGrid('getGridParam', 'userData');

if (userdata) {
if (userdata.title) {
$grid.jqGrid('setCaption', userdata.title);
}
if (userdata.columnNames) {
columnNames = userdata.columnNames;
for (name in columnNames) {
if (columnNames.hasOwnProperty(name)) {
$grid.jqGrid('setLabel', name, columnNames[name]);
}
}
}
}
}

现在相同的网格看起来像

enter image description here

(参见 another demo )

关于JQGrid 设置标题和列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311787/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com