虚表 —— 合并单元格演示

光庆 6天前 226

虚表新版本增加合并单元格功能,现逐步完善中,大家可以先行体验,发现问题跟帖反馈。

合并单元格背景色暂时一律保持默认颜色。后期再进行完善。

todo:

        1、实现多行表头及合并多行表头的处理

        2、合并单元格的背景色处理

先升级虚表库。

合并单元格相关函数及属性:

headerMerge = 【属性】表头列合并表。\n格式为:{{1,2}{5,8}} 指定需要合并的多个开始列和结束列。

addMerge(__ /*开始行*/,/*开始列*/,/*结束行*/,/*结束列*/) = 添加一个合并单元格区域。\n合并单元格区域前的行列,不能进行增删,否则会影响合并准确性。

delMerge(__ /*行号*/,/*列号*/) = 删除单元格所在的合并区域。

getMerge(__ /*行号*/,/*列号*/) = 获取单元格所在的合并区域,返回值格式为表:{1,1,2,2}。

getMergedFirstCell(__ /*行号*/,/*列号*/) = 获取单元格所在的合并区域的第一个单元格的行号、列号。

clearAllMerges() = 清空所有合并单元格区域。

isMerged(__ /*行号*/,/*列号*/) = 获取单元格是否被合并。


import win.ui;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=839;bottom=647)
mainForm.add(
vlist={cls="vlistEx";left=8;top=8;right=832;bottom=640;border=1;db=1;dl=1;dr=1;dt=1;z=1}
)
/*}}*/

//设置数据
var t = { fields={"序号","姓名","年龄","地址","政治面貌"} };
for(i=1;100;1){
    var tt={};
    tt["序号"]="[@rowindex]";  // 行序号标记是不允许编辑修改的
    tt["姓名"]=math.random(1000,9999)+"姓名";
    tt["年龄"]=math.random(10,99);
    tt["地址"]=math.random(1000,9999)+"地址";
    tt["政治面貌"]="党员";
    ..table.push(t,tt);
}
mainForm.vlist.setTable(t,{"序号","姓名","年龄","地址","政治面貌"},150,1);
mainForm.vlist.setRowHeight(40);
//合并表头
mainForm.vlist.headerMerge={{1,2}{3,5}};
mainForm.vlist.headerBkcolor = 0xFFDDDD;
mainForm.vlist.headerFont = ::LOGFONT(name="微软雅黑";point=18;color=0xFF0000);
//添加合并单元格
mainForm.vlist.addMerge(2,2,4,4)
mainForm.vlist.addMerge(5,1,6,2)
for(i=7;100;1){
	mainForm.vlist.addMerge(i,3,i,5);
}
for(i=7;100;2){
	mainForm.vlist.addMerge(i,2,i+1,2);
}
//允许编辑
mainForm.vlist.onEditBegin = true; 
mainForm.show();
win.loopMessage();


最新回复 (4)
  • java 6天前
    0 引用 2

  • kio 6天前
    0 引用 3

    最新版的vlistEx无此问题

    额,卡死是代码里面硬编码了吗,我aardio是在G盘的,D盘没有

  • zhhyit 6天前
    0 引用 4
    真是要玩法如火纯青
  • mndsoft 5天前
    0 引用 5

    功能越来越强大,大师应该做个分级版本,这一版没敢升级更新,稳定第一!

返回