作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习 ag-grid 并尝试使用以下代码在我的应用程序中显示复选框。
在 app.component.html 中:
<ag-grid-angular
style:"width: 500px; height: 500px;"
class: "ag-theme-balham"
[rowData]="rowData"
[columnDefs]="columnDefs"
rowSelection="multiple"
[gridOptions]="gridOptions"
[gridReady]="onGridReady($event)">
</ag-grid-angular>
export class AppComponent implements OnInit {
@ViewChild('agGrid')
agGrid: AgGridNg2;
private gridApi;
private gridColumnApi;
gridOptions: GridOptions;
columnDefs = [
{headerName: 'Make', field: 'make', checkboxSelection: true},
{headerName: 'Model', field: 'model'}
{headerName: 'Price', field: 'price'},
];
rowData: [
{make: 'Toyota', model: 'Celica', price: 35000},
{make: 'Ford', model: 'Mondeo', price: 32000},
{make: 'Porsche', model: 'Boxter', price: 72000}
];
onGridReady() {
this.gridApi = params.api;
this.gridColumnApi = params.columnApi;
}
}
最佳答案
For handing
visual
part, you need to create customcellRenderer
For handling
edit
stuff, you should create customcellEditor
components
,您需要创建
.html
用于视觉事物的文件和
.ts
用于逻辑处理。
.html
对于单选按钮:
<div class="radio-container">
<input type="radio" [value]="1" [(ngModel)]="radioValue" (change)="stopEdit()">
<input type="radio" [value]="2" [(ngModel)]="radioValue" (change)="stopEdit()">
<input type="radio" [value]="3" [(ngModel)]="radioValue" (change)="stopEdit()">
</div>
.ts
你必须处理
ICellEditorComp
functions
:
agInit
- 用于初始化并将现有值绑定(bind)到您的模型 isPopup
- 会是 popup
窗口或单元格内部 getValue
- 这个 function
将返回值 后 stopEditing
api 函数执行 .ts
private params: any;
public radioValue: number;
agInit(params: any): void {
this.params = params;
this.radioValue = params.value;
}
getValue(): any {
return this.radioValue;
}
isPopup(): boolean {
return true;
}
stopEdit() {
alert(`Value changed to: ${this.radioValue}`);
this.params.api.stopEditing();
}
components
应该包含在
frameworkComponents
中内
gridOptions
或作为
[frameworkComponents]
html
ag-grid
属性(property)。
Update:
row-selection
viaradio-button
insidecellRenderer
NOT SELECTED
<input type="radio" [(checked)]="!params.node.selected" (change)="handleChange()">
SELECTED
<input type="radio" [(checked)]="params.node.selected" (change)="handleChange()">
{{params.value}}
handleChange() {
this.params.node.setSelected(!this.params.node.selected)
}
editor
, 逻辑可以通过
renderer
处理只要
关于angular - 如何在 ag-grid 上显示和使用单选按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52396687/
我是一名优秀的程序员,十分优秀!