虚表 —— 高级编辑技巧

import win.ui;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=743;bottom=447)
mainForm.add(
vlist={cls="vlistEx";left=10;top=10;right=736;bottom=440;db=1;dl=1;dr=1;dt=1;edge=1;transparent=1;z=1}
)
/*}}*/

mainForm.show();
var t = { fields={"序号","姓名","年龄","地址","身份证"} };
for(i=1;100;1){
    var tt={};
    tt["序号"]="[@rowindex]";  // 行序号标记是不允许编辑修改的
    tt["姓名"]="["+string.random(math.random(1,20))+"]";
    tt["年龄"]="["+string.random(math.random(1,20))+"]";
    tt["地址"]="["+string.random(math.random(1,20))+"]";
    tt["身份证"]="["+string.random(math.random(1,20))+"]";
    ..table.push(t,tt);
}
mainForm.vlist.setTable(t);
mainForm.vlist.setColWidthFit();

//允许编辑
mainForm.vlist.onEditBegin = true
//显示前隐藏前后 [ ]
mainForm.vlist.beforeEditBoxShow = function(row,col,edit){
    edit.text = ..string.trim(edit.text,'[]')
}
//显示后调整光标位置
mainForm.vlist.onEditBoxShow = function(row,col,edit){
    edit.text = ..string.trim(edit.text,'[]')
    if col===2 { // 第2列全选
        edit.selectAll();
    } elseif col===3 { // 第3列光标到最前
        edit.setsel()
    } // 其他的不设置,默认光标到最后
}
//编辑完毕再加上前后 [ ]
mainForm.vlist.onEditEnd = function(row/*行*/,col/*列*/,text/*内容*/,endType/*结束类型*/){
    return "["+text+"]"; 
}
//设置为编辑框全选,执行时间在onEditBoxShow后。因为在onEditBoxShow进行调整,这里不设置了。
//mainForm.vlist.editBoxSelectAll = true

win.loopMessage();

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卢光庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值