特别是简单的子网格,而不是“网格作为子网格”。
我尝试了各种各样的方法,但似乎都没有。
如果我挂钩subGridBeforeExpand
,表格还没有准备好让我选择标题并设置css。
如果我挂钩subGridRowExpanded
,则子网格甚至不会渲染。
align
中的subGridModel
属性仅影响单元格值。
这是我的模型供参考:
subGrid: true,
subGridUrl: myUrl,
subGridModel: [{
name: ["Item", "Qty"],
width: ["200", "100"],
align: ["right", "right"],
param: ["Id"]
}]
答案 0 :(得分: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");
}
}
});
在扩展子网格后,您可以here演示如下所示:
答案 1 :(得分: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;
}