【问题标题】:Customise select columns in ui-grid自定义 ui-grid 中的选择列
【发布时间】:2016-03-29 15:15:36
【问题描述】:

是否可以在 ui 网格中为选择字段放置自定义列定义并从数据架构中提取其余字段?出现此用例是因为我的 json 数据模式是可变的,并且我确定只有一列(它在数据中的存在)并且想将自定义单元格模板应用于该列。

网格选项:

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

其中 data 是变量模式的 json 对象。

如果我以这种方式定义网格,则只有我的数据对象中的名称字段将显示在网格中。是否可以为名称字段使用自定义列定义,并在数据对象中显示其他对象而不为它们指定列定义?

为了更清晰:

我的数据对象可以是:

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

或:

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

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

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

【问题讨论】:

标签: angularjs angular-ui-grid


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

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

【讨论】:

  • 我不确定这对这种情况有何帮助,因为问题更多地与为 n 个数据列中的一个指定列 def 相关,这将导致仅显示一列。我已经尝试过了,它给了我一个类型错误 - template.replace 不是一个函数。感谢您的快速回复。
  • 你能创建一个你正在尝试的东西吗?还是更多代码?
  • 请检查我对问题的编辑以提供更清晰的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-10
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
相关资源
最近更新 更多