Javascript 在ag网格单元内选择值和ID?
我是ag grid的新手,正在对其进行评估 我的项目数据有多个查找表(即一个Foo有一类Bar、一个品牌Baz和一类Boo),我希望能够在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吗 其他人对我如何收集班级、品牌等有更好的想法吗 预计到达
- ID值
- 2-测试
- 3-UAT
- 6-未知
- 9-生产
- 15-发展
感谢您帮助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
}
]
}
}