虚表 —— 回车或TAB自动编辑下一单元格

光庆 8月前 721

import win.ui;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=591;bottom=487)
mainForm.add(
vlist={cls="vlistEx";left=8;top=8;right=584;bottom=480;db=1;dl=1;dr=1;dt=1;edge=1;transparent=1;z=1}
)
/*}}*/
//======================= 创建虚表 =======================
var t = { fields={"序号","姓名","年龄","地址","身份证"} };
for(i=1;10;1){
    var tt={};
    tt["序号"]="[@rowindex]";  // 行序号标记是不允许编辑修改的
    tt["姓名"]=math.random(1000,9999)+"姓名";
    tt["年龄"]=math.random(10,99);
    tt["地址"]=math.random(1000,9999)+"地址";
    tt["身份证"]=math.random(1000,9999)+"身份证";
    ..table.push(t,tt);
}
mainForm.vlist.setTable(t,,{80,100,100,100,-1},1);
//======================= 功能演示 =======================
mainForm.vlist.onEditBegin = true;
mainForm.vlist.onEditEnd = function(row/*行*/,col/*列*/,text/*内容*/,endType){
    if endType = 2/*_vlistEx_endType_onEditOK*/ or endType==3/*_vlistEx_endType_onEditTab*/ {
        if col==5 {
            if row<owner.count return true,λ()mainForm.vlist.edit(row+1,2);  //注意此处方法
        } else {
            return true,λ()mainForm.vlist.edit(row,col+1);  //注意此处方法
        }
    }
    return true; 
}
mainForm.show();
win.loopMessage();


最新回复 (6)
  • 小光芒 8月前
    0 引用 2
    感谢光庆老哥新增的功能,这个功能很适合做一些轻量化的表单填写
  • 小光芒 8月前
    0 引用 3
    多行的时候记得要判断下最大的行数
  • 光庆 8月前
    0 引用 4
    小光芒 多行的时候记得要判断下最大的行数
    有没有演示代码看看。我觉得用这种表格,单元格内一般不会存放很大的数据吧,如果行数超限了,估计也不适合用表格显示。这种就是适合轻便简单的数据显示 + 简单处理。
  • 小肥羊 8月前
    0 引用 5
    小光芒 多行的时候记得要判断下最大的行数
    其实,感觉编辑框不支持多行,应该呼叫光庆再改改
  • 小光芒 8月前
    0 引用 6
    光庆 有没有演示代码看看。我觉得用这种表格,单元格内一般不会存放很大的数据吧,如果行数超限了,估计也不适合用表格显示。这种就是适合轻便简单的数据显示 + 简单处理。
    我搓个帖子来
  • 小光芒 8月前
    0 引用 7
    https://aardio.online/thread-226.htm 简单用法
返回