如何静态加载子网格?

发布于 2025-01-02 18:56:05 字数 276 浏览 1 评论 0原文

我不想使用 ajax 在我的网格中加载数据。有没有办法将所有数据静态加载到主网格和子网格?

在 jqGrid 文档的示例中,需要参数 subGridUrl。但我想要类似的东西:

var mydata = [ {
// ... some static code for data creation here
 } ]

并在参数 data 中使用 mydata,但 subGrid 没有这个参数或其他参数。

I don't want use ajax to load data in my grid. Theres a way to load all data to main grid and subgrids statically?

In the samples from jqGrid Documentation, the parameter subGridUrl, is needed. But I want something like:

var mydata = [ {
// ... some static code for data creation here
 } ]

and using mydata in parameter data, but subGrid don't have this parameter or something else.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独守阴晴ぅ圆缺 2025-01-09 18:56:05

如果您使用 子网格作为网格,则必须在其中创建新网格subGridRowExpanded 回调。回调获取 rowid 作为参数。因此,如果您想要获取可用作子网格的 data 参数的数据数组,则可以使用 datatype: 'local' 定义子网格。

代码架构可以是以下内容:

var mainGridData = [
        {id: 'm1', ...},
        {id: 'm2', ...},
    ],
    subgridData1 = [
        {id: 's11', ...},
        {id: 's12', ...},
    ],
    subgridData2 = [
        {id: 's21', ...},
        {id: 's22', ...},
    ],
    subgridByMainGridId = {
        m1: subgridData1,
        m2: subgridData2
    };

    $('#mainGrid').jqGrid({
        datatype: 'local',
        data: mainGridData,
        ....
        subGrid: true,
        subGridRowExpanded: function(subgridId, rowId) {
            var subgridTableId = subgridId + "_t";

            $("#" + $.jgrid.jqID(subgridId)).html('<table id="' +
                subgridTableId + '"></table>');
            $("#" + $.jgrid.jqID(subgridTableId)).jqGrid({
                datatype: 'local',
                data: subgridByMainGridId[rowId],
                ...
            });
    });

If you use subgrid as grid you have to create new grid inside of subGridRowExpanded callback. The callback get rowid as a parameter. So if you would get the array of data which can be used as data parameter of the subgrid the subgrid can be defined with datatype: 'local'.

The code schema can be about the following:

var mainGridData = [
        {id: 'm1', ...},
        {id: 'm2', ...},
    ],
    subgridData1 = [
        {id: 's11', ...},
        {id: 's12', ...},
    ],
    subgridData2 = [
        {id: 's21', ...},
        {id: 's22', ...},
    ],
    subgridByMainGridId = {
        m1: subgridData1,
        m2: subgridData2
    };

    $('#mainGrid').jqGrid({
        datatype: 'local',
        data: mainGridData,
        ....
        subGrid: true,
        subGridRowExpanded: function(subgridId, rowId) {
            var subgridTableId = subgridId + "_t";

            $("#" + $.jgrid.jqID(subgridId)).html('<table id="' +
                subgridTableId + '"></table>');
            $("#" + $.jgrid.jqID(subgridTableId)).jqGrid({
                datatype: 'local',
                data: subgridByMainGridId[rowId],
                ...
            });
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文