在错误的Ag-Grid单元上显示的角度工具提示

时间:2019-08-14 16:45:50

标签: javascript angular ag-grid

我正在使用 Ag-grid 生成表格,我具有单元格验证功能,该功能可以检查单元格的值。如果值不正确,我想显示一个工具提示。我已经做到了所有这些,只是工具提示不会在输入错误的单元格上显示,而是在右侧的第一个单元格上显示,而仅在此处显示。

enter image description here

我的代码

data.map(object => {
        Object
          .keys(object)
          .map(key => {
            let mappedColumn = {
              headerName: key,
              field: key,
              hide: this.configurationSettings.hide,
              cellRenderer: "cellEditorComponent",    
              pinned: null,             
              inputType: this.inputType,
              cellStyle: (event) => { return this.cellValidation(event) },
              tooltip: (event) => { return this.setErrorMessage(event) }
            }
        columnDefinitions.push(mappedColumn);

cellValidation(param: any) {
    this.isValid=true;
    if (param && param.node && !param.node.lastChild && this.validateInput && !this.validateInput.test(param.value))
    {
      this.isValid = false;
      return { 'background-color': 'rgb(255, 230, 230)', 'border-color': 'red', 'font-weight': 'normal'    }
        }else if (param && param.node && param.node.lastChild && param.node.data["Consultant"] == "Planned hours")
        {
          return {'font-weight': 'bold'};
        }
}

     setErrorMessage(param: any) {
        //if (param && this.cellValidation(param) != null)
        if (!this.isValid) { 
          return this.errorMessage; 
        }
      }

1 个答案:

答案 0 :(得分:0)

我不知道为什么会这样,但这解决了这个问题:

 setErrorMessage(param: any) {
    if (param && this.cellValidation(param) != null && !this.isValid)
    { return this.errorMessage;}}