此示例使用jqGrid 4.6:
http://jsfiddle.net/aUDHx/1218/
可以看出,无论聚合数量多少,标题名称都会正确显示(“A A”,“A B”等)
但是,当我切换到4.7版时,如果使用多个聚合,则无法正确命名透视列:
http://jsfiddle.net/aUDHx/1219/
如果只使用一个聚合,则标题会正确显示。
4.7是否有指定标题名称的不同方法,或者这是一个错误?如果是后者,是否存在适当的解决方法?
这是yDimension的代码:
yDimension: [{
dataName: 'product',
converter: function (val) {return val.replace(/\s/g, ' ');}
}],
转换器功能用于正确格式化标题名称。如果你只使用一个聚合,这在4.7中是不需要的,但是除此之外的任何东西都会导致它破坏。
“Gurrido”现在是jqGrid的新名称。
答案 0 :(得分:2)
问题出在您在名称中使用的空格中。 jqPivot
不支持名称中的当前空格。例如,您可以通过将空格替换为_
(下划线)来解决问题。我描述了解决方法here。
顺便说一下,Gurrido jqGrid并不是免费开源jqGrid与MIT许可证的唯一继承者。在启动Gurrido jqGrid之后,最后一个免费jqGrid的其他一些jqGrid分叉正在开发中。我发布了结果here。我计划在本月发布新版本。您可以找到另一个分叉here。一个在fork中应用了我在我的存储库中做出的许多更改,但是其中一个也做了一些他自己的更改。
更新:您所描述的标签问题是jqGrid 4.7中的错误。顺便说一下,如果聚合值中存在使用空间,则不需要使用converter
。
我在here中发布了错误修复my jqGrid repository。您可以在演示http://jsfiddle.net/OlegKi/b47ocLd7/
上查看结果
该演示使用以下JavaScript代码
var mydata = [
{ id: "1", product: "A A", sold: "8", sold2: "8", sold3: "8", emp: "Michelle" },
{ id: "2", product: "A A", sold: "3", sold2: "8", sold3: "8", emp: "Tania" },
{ id: "6", product: "A B", sold: "1", sold2: "8", sold3: "8", emp: "Mark" },
{ id: "3", product: "A B", sold: "5", sold2: "8", sold3: "8", emp: "Tommy" },
{ id: "4", product: "B B", sold: "2", sold2: "8", sold3: "8", emp: "Dave" },
{ id: "5", product: "B B", sold: "5", sold2: "8", sold3: "8", emp: "Carol" }
];
$("#grid").jqGrid("jqPivot", mydata, {
xDimension: [
{ isGroupField: false, width: 40, dataName: "id", label: "ID" },
{ isGroupField: false, width: 80, dataName: "emp", label: "Employee" }
],
yDimension: [
{ dataName: "product" }
],
aggregates: [
{ aggregator: "sum", width: 60, member: "sold", label: "Sold" },
{ aggregator: "sum", width: 60, member: "sold2", label: "Sold 2" }
],
colTotals: true
},
{
height: "auto",
pager: "#pager",
iconSet: "fontAwesome",
resizeStop: function () {
$(this).jqGrid("setGridWidth", this.grid.newWidth, false);
},
caption: "Daily Sales"
}
);