Angular UI-网格轴
Angular UI-Grid Pivot
我收集了这些 Javascript 个对象:(显示为 DTO)
public class ParameterValueDTO : DataTransferObject
{
public int Id { get; set; }
public String Comments { get; set; }
public String Description { get; set; }
}
默认情况下,AngularJS UI-Grid 将为每个包含 3 列的 ParameterValue 对象创建一行:Id、Comments、Description,效果很好。
IMAGE: Standard objects mapping to table
但是我想做的是为每个对象的 "Comments" 值创建一个列并将其绑定到相应的 "Description" 值。本质上是旋转 table,因此它只有 1 行(暂时忘记 ID 列)。
我试过的javascript:
var cols = [];
var row = obj.data.ProductAttributes[0].Specifications[0].ParameterValues
var length = row.length;
for (var i = 0; i < length; i++) {
cols.push({
field: "Description",
displayName: row[i].Comments
});
}
$scope.gridOptions = {
columnDefs: cols,
data: row
};
上面的结果显然是错误的:
IMAGE: One column, new row for each Description
是否可以使用当前的数据结构来完成此操作,或者我应该采用的正确方法到底是什么?
我会修改代码以仅重新处理您的数据。 ui-grid真的只喜欢绑定到列和行,不能颠倒顺序。
所以你会:
var pivotData = [ {} ];
data.forEach(function(parameterDTO) {
pivotData[0][parameterDTO.comments] = parameterDTO.description;
});
那么您应该可以将该新数据对象用作网格数据。
我收集了这些 Javascript 个对象:(显示为 DTO)
public class ParameterValueDTO : DataTransferObject
{
public int Id { get; set; }
public String Comments { get; set; }
public String Description { get; set; }
}
默认情况下,AngularJS UI-Grid 将为每个包含 3 列的 ParameterValue 对象创建一行:Id、Comments、Description,效果很好。
IMAGE: Standard objects mapping to table
但是我想做的是为每个对象的 "Comments" 值创建一个列并将其绑定到相应的 "Description" 值。本质上是旋转 table,因此它只有 1 行(暂时忘记 ID 列)。
我试过的javascript:
var cols = [];
var row = obj.data.ProductAttributes[0].Specifications[0].ParameterValues
var length = row.length;
for (var i = 0; i < length; i++) {
cols.push({
field: "Description",
displayName: row[i].Comments
});
}
$scope.gridOptions = {
columnDefs: cols,
data: row
};
上面的结果显然是错误的:
IMAGE: One column, new row for each Description
是否可以使用当前的数据结构来完成此操作,或者我应该采用的正确方法到底是什么?
我会修改代码以仅重新处理您的数据。 ui-grid真的只喜欢绑定到列和行,不能颠倒顺序。
所以你会:
var pivotData = [ {} ];
data.forEach(function(parameterDTO) {
pivotData[0][parameterDTO.comments] = parameterDTO.description;
});
那么您应该可以将该新数据对象用作网格数据。