Ag网格中的动态公式单元格计算

时间:2019-03-25 06:18:30

标签: c# asp.net database angular6

我想基于数据库中的列公式计算单元格值     数据库值中

value of column: Buttons-10  Fabric-{Buttons}+{Zippers}+{Buttons}+10*19                             
Zippers-{Buttons}*20

 headerName: 'Fabric_Dynamic', width: 30, editable: true, field: 'Fabric',
    filterParams: { clearButton: true },
    cellRenderer: function (params) {
      var str = params.data.Fabric;
      return eval(_this.getValue(str, params.data));
    },
    cellEditorParams: function (params) {
      return {
      };
    },

我使用了正则表达式和递归来计算每一列的值     我在AG网格的单元渲染中使用此代码     像这样

getValue(str: string, data) {
var arr = Object.keys(data);
if (str.match('\{(.*?)\}')) {
  let xstr = str;
  arr.forEach(item => {
    const regex = new RegExp(`{${item}}`, 'gi');
    xstr = xstr.replace(regex, data[item]);
  })
  return this.getValue(xstr, data);
} else {
  return str;
}
}

但是我不想使用递归,请帮我解决这个问题

0 个答案:

没有答案