3

特别是简单的子网格,而不是“网格作为子网格”。

我尝试了多种方法,但似乎都没有奏效。

如果我挂钩subGridBeforeExpand,表格还没有准备好让我选择标题并设置 css。

如果我连接到subGridRowExpandedsubGrid 甚至不会渲染。

中的align属性subGridModel仅影响单元格值。

这是我的模型供参考:

subGrid: true,
subGridUrl: myUrl,                    
subGridModel: [{ 
     name: ["Item", "Qty"],
     width: ["200", "100"],
     align: ["right", "right"],
     param: ["Id"]
}]
4

2 回答 2

2

你是对的,Subgrids 和 Treegrids 中的回调太少了。尽管如此,因为我发现您的问题是非常有趣的挑战(来自我的 +1),所以我确实找到了一种解决方法。

您可以执行以下操作:

var $grid = $("#grid"), sid;
$grid.jqGrid({
    //... your other settings
    subGrid: true,
    serializeSubGridData: function(p) {
        sid = p.id; // save id from the last request
        return p;
    },
    ajaxSubgridOptions: {
        complete: function (sxml) {
            var ts = $grid[0], $subgridHeaders;
            if (ts.p.subgridtype === "xml") {
                ts.subGridXml (sxml.responseXML, sid);
            } else {
                ts.subGridJson($.jgrid.parse(sxml.responseText), sid);
            }
            // now the subgrid is completed and we can modify
            // style of subgrid headers
            $subgridHeaders = $('#' + $.jgrid.jqID(ts.id + '_' + sid))
                .find("th.ui-th-subgrid");
            // now we can do some custom actions:
            $($subgridHeaders[0]).css("text-align", "left");
            $($subgridHeaders[1]).css("text-align", "right");
        }
    }
});

您可以在此处演示子网格扩展后如下所示:

在此处输入图像描述

于 2012-04-13T17:02:34.100 回答
0

我已经使用 CSS 选择器解决了问题,例如将第 7 列标题居中:

#GRIDID .subgrid-data th:first-child + th + th + th + th + th + th
{
    text-align: center;
}

或将整列居中:

#GRIDID .subgrid-data th:first-child + th + th + th + th + th + th,
#GRIDID .subgrid-data td:first-child + td + td + td + td + td + td
{
    text-align: center;
}
于 2014-03-27T10:14:44.207 回答