Javascript 在ag网格单元内选择值和ID?

Javascript 在ag网格单元内选择值和ID?,javascript,ag-grid,ag-grid-valuesetter,Javascript,Ag Grid,Ag Grid Valuesetter,我是ag grid的新手,正在对其进行评估 我的项目数据有多个查找表(即一个Foo有一类Bar、一个品牌Baz和一类Boo),我希望能够在ag网格中编辑这些表。不幸的是,这些查找表不在我的控制范围内,并且我并不总是有顺序ID 例如: 福有一门课 类可以是以下内容之一: ID值 2-测试 3-UAT 6-未知 9-生产 15-发展 我无法控制ID或值 那么,如果我把agSelectCellEditor放进去,我能告诉它显示值,但收集ID吗 其他人对我如何收集班级、品牌等有更好的想法吗 预计到达

我是ag grid的新手,正在对其进行评估

我的项目数据有多个查找表(即一个Foo有一类Bar、一个品牌Baz和一类Boo),我希望能够在ag网格中编辑这些表。不幸的是,这些查找表不在我的控制范围内,并且我并不总是有顺序ID

例如:

福有一门课

类可以是以下内容之一:

  • ID值
  • 2-测试
  • 3-UAT
  • 6-未知
  • 9-生产
  • 15-发展
我无法控制ID或值

那么,如果我把agSelectCellEditor放进去,我能告诉它显示值,但收集ID吗

其他人对我如何收集班级、品牌等有更好的想法吗

预计到达时间:

从ag网格站点():

这是我试过的,但我无法把身份证拿回来。也许其他人有更好的想法,或者以前实施过


感谢您帮助ag grid noob。

您可以通过创建自定义单元格编辑器来完成

组成部分:

drop.down.editor.ts

import {AfterViewInit, Component, ViewChild, ViewContainerRef} from "@angular/core";

import {ICellEditorAngularComp} from "ag-grid-angular";

@Component({
    selector: 'dropdown-cell-editor',
    templateUrl: "drop.down.editor.html"
})
export class DropDownEditor implements ICellEditorAngularComp, AfterViewInit {
    private params: any;
    public value: number;
    private options: any;

    @ViewChild('input', {read: ViewContainerRef}) public input;


    agInit(params: any): void {
        this.params = params;
        this.value = this.params.value;
        this.options = params.options;

    }

    getValue(): any {
        return this.value;
    }

    ngAfterViewInit() {
        window.setTimeout(() => {
            this.input.element.nativeElement.focus();
        })
    }

}
drop.down.editor.html

 <select  #input  [(ngModel)]="value">
   <option *ngFor="let item of options" value="{{item.value}}">{{item.name}}</option>
  </select>
然后在列定义中使用它

{
    headerName: "Drop down",
    field: "dropdown",
    cellEditorFramework: DropDownEditor,
    editable: true,
    cellEditorParams: {
        options: [{
                name: "First Option",
                value: 1
            },
            {
                name: "Second Option",
                value: 2
            }
        ]
    }
}

完整示例

请分享您尝试过或实现过的示例代码我没有尝试太多--正如我所说,我正在评估产品。Ag grid声称它们支持agSelectCellEditor,但不显示值和ID。不幸的是,该公司只支持此处的链接,而不支持指向它们的链接。您正在尝试访问网格数据吗??ID表示键值???键值只不过是列定义。当前,下拉列表隐藏一次,选择一个项并解析该值(而不是名称),因为我们在getValue()中返回此.value。但我如何修复下拉列表?这意味着无论项目是否被选中,下拉列表都应该在单元格中始终可见。这里是另一个AG Grid noob,对此表示抱歉。如果我理解正确,上面的例子是角度的,对吗?它可以转换成普通的Javascript吗?(对不起,我也是javascript的新手,我不能在我正在从事的项目中使用angular)@Pierre是的,可以用纯javascript重写此内容,您可以查看文档中的示例,其中有js中的自定义单元格编辑器
@NgModule({
  imports:      [ ... , AgGridModule.withComponents( [DropDownEditor]) ],
  declarations: [ ..., DropDownEditor ]
})
{
    headerName: "Drop down",
    field: "dropdown",
    cellEditorFramework: DropDownEditor,
    editable: true,
    cellEditorParams: {
        options: [{
                name: "First Option",
                value: 1
            },
            {
                name: "Second Option",
                value: 2
            }
        ]
    }
}