gpt4 book ai didi

带有 "local"数据的jqGrid子网格

转载 作者:行者123 更新时间:2023-12-04 04:57:43 26 4
gpt4 key购买 nike

我正在尝试让我的子网格处理本地数据。但是,当我单击“展开”时,我只会看到一个“正在加载”框,就像网格试图从某处提取数据一样。我假设我不需要subGridUrl,因为主网格的数据类型是datatype:'local'。还有什么我应该做的吗?

最佳答案

没有使用本地数据定义子网格的直接方法,但是您可以使用subGridRowExpanded(Subgrid as Grid)相对容易地实现相同的行为。一个人需要做的就是从内部结构中通过网格的rowid获取子网格的数据。例如,如果您将子网格映射为

var myGridData = [
// main grid data
{id: "m1", col1: "11", col2: "12"},
{id: "m2", col1: "21", col2: "22"}
],
mySubgrids = {
m1: [
// data for subgrid for the id=m1
{id: "s1a", c1: "aa", c2: "ab", c3: "ac"},
{id: "s1b", c1: "ba", c2: "bb", c3: "bc"},
{id: "s1c", c1: "ca", c2: "cb", c3: "cc"}
],
m2: [
// data for subgrid for the id=m2
{id: "s2a", c1: "xx", c2: "xy", c3: "xz"}
]
};

subGridRowExpanded内部,您可以使用以下代码创建子网格:

$("#grid").jqGrid({
datatype: 'local',
data: myGridData,
colNames: ['Column 1', 'Column 2'],
colModel: [
{ name: 'col1', width: 200 },
{ name: 'col2', width: 200 }
],
...
subGrid: true,
subGridRowExpanded: function (subgridDivId, rowId) {
var subgridTableId = subgridDivId + "_t";
$("#" + subgridDivId).html("<table id='" + subgridTableId + "'></table>");
$("#" + subgridTableId).jqGrid({
datatype: 'local',
data: mySubgrids[rowId],
colNames: ['Col 1', 'Col 2', 'Col 3'],
colModel: [
{ name: 'c1', width: 100 },
{ name: 'c2', width: 100 },
{ name: 'c3', width: 100 }
],
...
});
}
});

The demo实时显示结果:

关于带有 "local"数据的jqGrid子网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10163970/

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