我想实现下面这个效果,请问该如何操作: 以字符串形式给一段LUA代码,类似像这样AddUnit({type ='human', name ='Rose', dbid =None})”我希望设计一个fr.cpt,实现根据我这段字符串的type ='human',来生成一个sql查询命令,去查询.db3数据库里的的DataHuman的表,然后模糊搜索name字段为'Rose'的,返回其dbid值,比如6201,回填到AddUnit({type ='human', name ='Rose', dbid =6201})这段话的DBID中;如果是AddUnit({type ='others', name ='XXX', dbid =None})” 就去查Dataothers的表。 之前有朋友说在一个单元格事件里,弄了个编辑结束事件,然后放下面代码 var code = this.getValue(); //获取输入的LUA程序代码 alert("获取的代码:" + code); var pstr = code.match(/type\s*=\s*‘(\w+)’/); //提取type参数的值 alert("type匹配结果:" + pstr); if (pstr != null) { //判断是否匹配成功 var type = pstr[1]; //如果成功,取出第一个分组 alert("type参数值:" + type); fr.dataSetParameter.put(“type”, type); //赋值给数据集参数type } //同理,对name参数也做同样的处理 var pstr = code.match(/name\s*=\s*‘(\w+)’/); //提取name参数的值 alert("name匹配结果:" + pstr); if (pstr != null) { var name = pstr[1]; alert("name参数值:" + name); fr.dataSetParameter.put(“name”, name); //赋值给数据集参数name } 但是不知道怎么调试 在另一个单元格里用公式收返回值 replace(code, "dbid =None", "dbid =" + Dataset.dataSetRow("DBID")) 但是 运行了没反应 |