验证并显示 ag 网格单元格中的错误
validate and show the error in ag grid cell
我正在为我的 table 使用带有 angular 的 ag 网格社区版。
我喜欢制作 editable table 并进行验证。
如果验证失败,我需要在 ag gird 单元格中用红色边框显示错误,如下图所示
我的验证:
当用户点击保存按钮时。
用户应输入姓氏和资格。
如果用户输入其中任何一个,那么我需要在单元格上显示红色边框
如果用户都没有输入,则可以通过
请帮我实现这个。我试过 cellstyle,但它不适合我的情况
下面是我的 Stackblitz url
https://stackblitz.com/edit/angular-ivy-fq2wvt?file=src%2Fapp%2Fapp.component.ts
一种可能的方法是使用 cellClassRules
和一个全局标志来发出保存尝试信号。
将此简单对象设置为 class 成员:
cellRules = {
'rag-red': params => this.isSaveAttempted && !params.value
};
初始化“保存尝试”:
isSaveAttempted = false;
然后分配给列 defs(姓氏、资格):
{
headerName: 'Last Name',
field: 'lastName',
editable: true,
cellClassRules: this.cellRules // <-- here
},
{ headerName: 'Address', field: 'address', editable: true },
{
headerName: 'Qualification',
field: 'qualification',
editable: true,
cellClassRules: this.cellRules // <-- here
}
组件中的 css 规则(要使其工作需要 ng-deep
),但您也可以添加到 styles.css
然后不添加 ng-deep
.
:host::ng-deep .rag-red {
border: 3px solid red !important;
}
一旦用户点击“保存”按钮:
onSave(): void {
this.isSaveAttempted = true;
this.gridApi.redrawRows(); <-- this will trigger redraw and red borders
我正在为我的 table 使用带有 angular 的 ag 网格社区版。
我喜欢制作 editable table 并进行验证。
如果验证失败,我需要在 ag gird 单元格中用红色边框显示错误,如下图所示
我的验证:
当用户点击保存按钮时。
用户应输入姓氏和资格。
如果用户输入其中任何一个,那么我需要在单元格上显示红色边框
如果用户都没有输入,则可以通过
请帮我实现这个。我试过 cellstyle,但它不适合我的情况
下面是我的 Stackblitz url
https://stackblitz.com/edit/angular-ivy-fq2wvt?file=src%2Fapp%2Fapp.component.ts
一种可能的方法是使用 cellClassRules
和一个全局标志来发出保存尝试信号。
将此简单对象设置为 class 成员:
cellRules = {
'rag-red': params => this.isSaveAttempted && !params.value
};
初始化“保存尝试”:
isSaveAttempted = false;
然后分配给列 defs(姓氏、资格):
{
headerName: 'Last Name',
field: 'lastName',
editable: true,
cellClassRules: this.cellRules // <-- here
},
{ headerName: 'Address', field: 'address', editable: true },
{
headerName: 'Qualification',
field: 'qualification',
editable: true,
cellClassRules: this.cellRules // <-- here
}
组件中的 css 规则(要使其工作需要 ng-deep
),但您也可以添加到 styles.css
然后不添加 ng-deep
.
:host::ng-deep .rag-red {
border: 3px solid red !important;
}
一旦用户点击“保存”按钮:
onSave(): void {
this.isSaveAttempted = true;
this.gridApi.redrawRows(); <-- this will trigger redraw and red borders