gpt4 book ai didi

javascript - JQGrid getGridParam 不返回数据项的 ID

转载 作者:行者123 更新时间:2023-11-30 13:02:58 27 4
gpt4 key购买 nike

我有一个网格,它使用从外部 ajax 请求生成的本地数据(外部我的意思是不使用 jqgrid 的内置 ajax)

来自 ajax 请求的数据作为本地数据传递到网格中,并且网格设置为 loadonce。

window.grid = $(window.tableName).jqGrid({
datatype: "local",
data: DataFromResponse,
height: "auto",
autowidth: true,
hidegrid: false,
ignoreCase: true,
loadonce: true,
pager: window.pagerName,
rowNum: 10,
viewrecords: true,
gridview: true,
caption: '',
colNames :[cols],
colmodel :[]{cols},
gridComplete: function() {
CreateButtons();
});

如您所见,网格在这个阶段是基本的,但是我们需要在名为“buttons”的列中添加一些按钮,我们使用 CreateButtons 方法来完成此操作。

function CreateButtons(){
var grid = $(window.tableName);
var data = grid.jqGrid('getGridParam', 'data');
$.each(data, function(index, item){
var cl = item._id_;
alert(cl);
});
}

这个函数的警告应该给我网格设置的行的 id 但它没有任何想法

最佳答案

仅当从远程源加载的数据(数据类型“json” of "xml") 和选项 loadonce: true 被使用。如果在本地加载数据(使用 datatype: "local"),则 _id_ 不存在。

如果您正确填充网格,则 data 参数(在您的情况下为 DataFromResponse)指定的数据是包含 id 属性的项目数组连同用于填充列数据的其他属性。另一种选择是为某些列指定 key: true。在这种情况下,行的 id 将从列中获取。

如果您没有指定 id 信息(这非常糟糕)并且您需要访问所有本地数据,包括 jqGrid 生成的 id,您需要获得两个 jqGrid 选项:_index 数据。对象 _index 包含网格的所有 id 作为属性。 id 属性的值是 data 数组中与 id 对应的整数索引。所以你可以使用for-in循环来枚举网格的所有id(你需要枚举_index的属性)。参见 the answerthis one了解详情。

您还写道,您在 gridComplete 内的网格列中创建了按钮。这个方法似乎我不太好。最好将自定义格式化程序与 gridview: true 选项一起使用(参见 the answer )。此外,我根本不建议您使用 gridComplete。最好使用 loadComplete。参见 the answer了解详情。

关于javascript - JQGrid getGridParam 不返回数据项的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16715248/

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