<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />谁能想到一种简单的方法来复制数据表中的选定列? 基本上,我想选择该列,并通过单击一个菜单项,在原始数据旁边获得包含所有属性、值等的“副本”。 通过添加、移动、设置类型、复制值等来做到这一点是很痛苦的。 我想它可以编写为插件的脚本,但我希望有一种更简单的方法。
谢谢!
谢谢, getscript 正是我的脚本知识中所缺少的!
尝试这样的事情。 它支持多列的选择和复制。
名称默认为此处( 1 ) ;
dt =当前数据表() ;
列= dt <<获取选定的列;
为了(我= 1 ,我<= N 项(列) ,我++,
dt <<清除列选择;
科尔斯克=列[我] <<获取脚本;
(评估(代替(名称表达式(科尔斯克) ,精氨酸(名称表达式(科尔斯克) , 1 ) , “备份 ” || (列[我] <<得到名字) ) )) <<设置选定的( 1 ) ;
dt <<移动选定的列(后(列[我] ) ) ;
) ;
所以我将其创建为插件。 底部部分(已注释掉)是尝试复制列属性,但没有成功。 (这是我试图避免的,但我开了一个很长的会议,没有更好的事情可做......) 如果有比这种方法更优雅的方法,我仍然会感兴趣。
dt = 当前数据表();
selcol = dt << 获取选定的列;
selcolname = dt:selcol << 获取名称();
newcname =“副本”||选择名称;
newc = dt << 新列( newcname );
newclist = dt:newc << 获取名称(); //以防这是第二个副本!
movestr = "dt << 移动选定列({\!"%newclist%\!"}, 之后(\!"%selcolname%\!") );";
评估插入(movestr,“%”);
movestrexpr = 解析(movestr);
移动表达式;
对于每一行(dt:newc = dt:selcol);
/*proplist = dt:selcol << 获取属性列表();
for(i=1, i < N 项(proplist), i ++,
currprop = Char(proplist );
gotpropstr = "gotprop = dt:selcol << 获取属性(\!"%currprop%\!");";
eval 插入(gotpropstr,"%");
gotpropstrexpr = 解析(gotpropstr);
得到propstrexpr;
setpropstr = "newc << Eval List(设置属性(\!"%currprop%\!", 列表(gotprop)));";
eval 插入(setpropstr,"%");
setpropstrexpr = 解析(setpropstr);
setpropstrexpr;
);
newcproplist = dt:newc << 获取属性列表();
//显示属性(dt:selcol);
*/