使用变量在 listGrid 中添加记录

Add record in listGrid with variable

我正在使用如下 startEditingNew 方法在网格中添加记录。

var COLUMN_NAME = {

    name : "user_name",
    lastname : "user_surname",
    age : "user_age"
};


addDataToGrid : function (name, lastname, age){

MyGrid_Grid.startEditingNew({

       COLUMN_NAME.name: name,
       COLUMN_NAME.lastname: lastname,
       COLUMN_NAME.age: age
     });
}

但是,我的上述函数引发错误并且没有将记录添加到网格。 如果我使用 "user_name" 字符串而不是 "COLUMN_NAME.name" ,它工作正常。

如何使用变量作为列名?

提前致谢

这是一个 javascript 问题,不是 SmartClient 问题。

无论如何,如果你需要使用那种方法,你可以这样写:

addDataToGrid : function (name, lastname, age){
    var record = {};
    record[COLUMN_NAME.name] = name;
    record[COLUMN_NAME.lastname] = lastname;
    record[COLUMN_NAME.age] = age;
    MyGrid_Grid.startEditingNew(record);
}

另见 Rules for unquoted JavaScript Object Literal Keys?