虚表 —— 设置一个尺寸与内容完美匹配的表格

光庆 4天前 130

设置一个尺寸与内容完美匹配的表格。

没有多余的空白背景。

没有不必要的滚动条。

import win.ui;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=639;bottom=647)
mainForm.add(
vlist={cls="vlistEx";left=8;top=8;right=632;bottom=640;border=1;dl=1;dt=1;z=1}
)
/*}}*/
//填充虚表数据
var t = {};
for(i=1;13;1){
    var name =..string.random(3,"赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢");
    for(n=1;3;1){
        var tt = {name};
        ..table.push(tt,({"技能","服务","业绩"})[n]);
        for(n=1;12;1){
            ..table.push(tt,..string.format("%.2d",..math.random(0,99)));
        }
        ..table.push(t,tt);
    }
}
mainForm.vlist.setTable(t);
//高级表头设置
mainForm.vlist.headerFont = ::LOGFONT(name="宋体";h=14;);
mainForm.vlist.setHeaderEx(
    text = {{"姓名"    ,"类型"    ,"2024年度绩效考核成绩明细表","-","-","-","-","-","-","-","-","-","-","-"}
            {"|"    ,"|"    ,"第一季度","-","-","第二季度","-","-","第三季度","-","-","第四季度","-","-"}
            {"|"    ,"|"    ,"01月","02月","03月","04月","05月","06月","07月","08月","09月","10月","11月","12月"}
            }
    width = {100,100,30,30,30,30,30,30,30,30,30,30,30,30};
    height = {60,40,30};
    align = 1; 
    font = {[3]={[0]=::LOGFONT(name="宋体";h=12;color=0x0000FF)}};
    bkcolor = 0xEEEEEE;
);
//每三行合并姓名单元格
for(i=1;mainForm.vlist.count;3){
    mainForm.vlist.addMerge(i /*开始行*/,1/*开始列*/,i+2/*结束行*/,1/*结束列*/);
}
//设置行高
mainForm.vlist.setRowHeight(30);
//设置边框四边颜色
mainForm.vlist.borderColor={left=0xBBBBBB,top=0xBBBBBB,right=0xFFFFFF,bottom=0xFFFFFF};
//设置固定列宽
mainForm.vlist.setFixedColumnWidth();
//设置第一列颜色
mainForm.vlist.setColColor(1,0x0000FF/*文本颜色*/,0xEEEEEE/*背景颜色*/);
//设置合适的表格高度,刚好容纳15行。
mainForm.vlist.fitHeight(15);
//设置合适的表格宽度,刚好容纳所有列。
mainForm.vlist.fitWidth();
//显示主窗口
mainForm.show();
win.loopMessage();


最新回复 (3)
  • 近我者赤 4天前
    0 引用 2

    这个就更美观了

  • 近我者赤 4天前
    0 引用 3

    库没更新吧,没有fitHeight和fitWidth呀

  • 光庆 4天前
    0 引用 4
    近我者赤 库没更新吧,没有fitHeight和fitWidth呀
    升级一下
返回