|
版本: |
X5.2.7 |
小版本号: |
|
|
|
数据库: |
MS SQLServer |
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
Windows XP |
浏览器: |
Chrome |
|
|
问题背景
按照论坛的指导写了通过js实现了,tree数据的全路径
代码如下
mainActivity.dataMainValueChanged = function(event){
var colname = event.column;
var value = event.value;
if (colname == "fLXMC") {
var data = justep.xbl("dataMain");
var fpath = "";
var obj = [];
var ffname = "";
var icount = data.getCount();
//重写每条记录的路径
for (var i=1; i<icount; i++){
fpath = data.getValue("fTby1", data.getID(i));
obj=fpath.split("/")//fpath
len=obj.length
// 循环获取节点名称,用/连接
ffname = "/宏业集团";
for ( var j = 1; j < obj.length; j++) {
if(j>1){
ffname += "/"+data.getValue("fLXMC", obj[j]);
}
}
data.setValue("fTby", ffname, data.getID(i));
}
}
};
问题是 树全展开时,修改一行的名称,相关行的全路径可以修改正确。但是如果不展开,就不修改对应的行。
把代码修改,添加了一行,全展开的代码
mainActivity.dataMainValueChanged = function(event){
justep.xbl('dataMain').expandAll();
var colname = event.column;
var value = event.value;
if (colname == "fLXMC") {
var data = justep.xbl("dataMain");
var fpath = "";
var obj = [];
var ffname = "";
var icount = data.getCount();
//重写每条记录的路径
for (var i=1; i<icount; i++){
fpath = data.getValue("fTby1", data.getID(i));
obj=fpath.split("/")//fpath
len=obj.length
// 循环获取节点名称,用/连接
ffname = "/宏业集团";
for ( var j = 1; j < obj.length; j++) {
if(j>1){
ffname += "/"+data.getValue("fLXMC", obj[j]);
}
}
data.setValue("fTby", ffname, data.getID(i));
}
}
};
但是这样任然不可以:修改了某个名称,点击保存,从ie操作界面上看,是全展开了,但是,从后台一看,数据仍然没有修改。必须在已经展开的情况下,再修改一遍,才可以保存修改的数据。
|
|