在ui-grid

时间:2016-03-28 11:26:31

标签: angularjs angular-ui-grid

是否可以在ui网格中为选择字段设置自定义列定义,并从数据模式中获取其余字段?这个用例的出现是因为我的json数据模式是可变的,并且我只确定了一个列(它存在于数据中),并希望将自定义单元格模板应用于该列。

网格选项:

$scope.gridOptions = {
     data: data,
     columnDefs: [
         { field: 'name', width: 250, cellTemplate: "../../tpl/grid/name_template.html" }
     ]
 }

其中data是变量schema的json对象。

如果我以这种方式定义网格,只有我的数据对象中的名称字段才会显示在网格中。是否可以将自定义列def用于名称字段,还可以在数据对象中显示其他对象而无需为其指定列定义?

为了更清晰:

我的数据对象可以是:

[{name: 'apple', type: 'fruit', seasonal: true}]

或:

[{name: 'apple', color: 'green', taste: 'sour'}]

基本上我的用例是这样的,以前我无法知道从初始化网格数据对象的查询中返回哪些列,但我确信这个名称的事实列将是查询返回的数据的一部分。我想在名称字段中提供自定义单元格模板和其他属性,并显示可能存在的其他列。

正常的行为是,如果我在字段中为一列指定列定义,那么我必须为数据中的所有其他列指定定义,以使它们可见,在我的情况下,我不会#39 ; t知道其他字段名称可能是什么。

1 个答案:

答案 0 :(得分:0)

$scope.gridOptions = {
     data: data,
     columnDefs: [
         { field: 'name', width: 250, cellTemplate: $.get('url-to-your-template.html') }
     ]
 }

检查以上是否有效。您可以使用自己的服务来获取模板