【问题标题】:How to show dynamic values in ag-grid cell editor select如何在 ag-grid 单元格编辑器选择中显示动态值
【发布时间】:2017-09-14 07:01:35
【问题描述】:

我想为 ag-grid 的每一行显示动态下拉选项。

假设对于每一行,部门可能不同,并且基于此我计划过滤主题列表(用户可以在下拉列表中选择)

这是我的代码:

this.gridOptions.columnDefs = {
            headerName: 'Department',
            field: 'financingCurrency',
            editable: false,                            
            suppressSorting: false,
            cellClass: 'grid-align'
        },

        {
            headerName: 'Subject',
            field: 'subject',
            editable: true,
            cellEditor: 'select',
            filter: 'text',
            cellEditorParams: {
                values: this.subjects;                    
            },
            suppressSorting: false,
            cellClass: 'grid-align'
        }
}

我正在使用带有 Angular 2 的免费版 ag-grid。

有人对此有任何想法吗?

【问题讨论】:

    标签: html angular typescript ag-grid


    【解决方案1】:

    如果我理解正确,您希望能够根据选择的部门在 cellEditor 中具有不同的值。如果这是正确的,那么您可能需要做一些更复杂的处理cellEditors。这是我创建的plnkr,用于检查名称是否以 J 开头,如果是,则允许第三个选项。

    请参阅plnkr 以获取完整示例,以及docs 以确保您在正确的位置导入/导出所有内容。除了文档上的内容之外,以下是对您来说最重要的内容:

    agInit(params: any): void {
        if (params.node.data.financingCurrency == 'Your Super Department') {
            subjects = [...super options...]
        } else {
            subjects = [...different options...]
        }
    }
    

    agInit 在任何时候开始编辑时都会被​​调用。 params 有一个复杂的对象,(我建议 console.log()ing 它只是为了查看您可以使用的所有内容)但基本上节点是指单元格所在的行,数据是该行的数据,并且根据您的 colDefs 判断,您可以从 FinanceCurrency 获得 Department 的值。

    【讨论】:

    • 非常感谢.. 它有效.. 另外我如何在编辑器组件中传递一些值?因为我们只有 type cellEditorFramework: ProductEditorComponent
    【解决方案2】:

    尝试类似的东西:

      {
        headerName: ' MEDICINE NAME ', 
        field: 'medicine',
        cellEditor: 'autoComplete',
        cellEditorParams:params => {
             return  {
              'propertyRendered' : 'name',
              'rowData':  this.medicineList, 
              'columnDefs' : [{headerName: 'Medicine', field:'name'}]
          } 
        } 
      },
    

    【讨论】:

    • 请添加更多详细信息来支持您的回答。在How do I write a good answer?查看此链接
    • 这个答案被标记为Low Quality 并且可以从解释中受益。以下是How do I write a good answer? 的一些指南。仅代码答案不被视为好的答案,并且可能会被否决和/或删除,因为它们对学习者社区不太有用。这只对你很明显。解释它的作用,以及它与现有答案(如果有的话)有何不同/更好。 From Review
    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2020-02-19
    • 2019-09-10
    • 2020-08-20
    • 2019-07-29
    • 2019-01-10
    • 1970-01-01
    相关资源
    最近更新 更多