虚表 —— 单独设置表头某列的颜色和字体

光庆 2月前 572

为正确运行以下代码,请下载最新版虚表库。

import win.ui;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vlistEx - table adapter";right=849;bottom=578)
mainForm.add(
vlist={cls="vlistEx";left=10;top=10;right=840;bottom=570;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,200},0x1);
// 对表头各列背景颜色进行单独设置的方法:
mainForm.vlist.headerBkcolor = {0xFF0000,0x00FF00,0xFFFFFF,0x0000FF}; // 单独设置表头各列背景颜色
// 对表头各列字体颜色进行单独设置的方法:
{ // 方法一
	mainForm.vlist.headerFont = ::LOGFONT(name="宋体";point=12;color=0x000000); //设置表头默认字体
	mainForm.vlist.headerFont[1] = ::LOGFONT(name="宋体";point=12;color=0xFFFFFF); //单独设置某列字体
	mainForm.vlist.headerFont[2] = ::LOGFONT(name="微软雅黑";point=18;color=0xFF0000); //单独设置某列字体
	mainForm.vlist.headerFont[4] = ::LOGFONT(name="仿宋";point=22;bold=1;color=0x00FFFF); //单独设置某列字体
}
{ // 方法二
	mainForm.vlist.headerFont = {}; // 没有设置默认字体
	mainForm.vlist.headerFont[1] = ::LOGFONT(name="宋体";point=12;color=0xFFFFFF); //单独设置某列字体
	mainForm.vlist.headerFont[2] = ::LOGFONT(name="微软雅黑";point=18;color=0xFF0000); //单独设置某列字体
	mainForm.vlist.headerFont[4] = ::LOGFONT(name="仿宋";point=22;bold=1;color=0x00FFFF); //单独设置某列字体
}
{ // 方法三
	mainForm.vlist.headerFont = { // 没有设置默认字体
		[1] = ::LOGFONT(name="宋体";point=12;color=0xFFFFFF); //单独设置某列字体
		[2] = ::LOGFONT(name="微软雅黑";point=18;color=0xFF0000); //单独设置某列字体
		[4] = ::LOGFONT(name="仿宋";point=22;bold=1;color=0x00FFFF); //单独设置某列字体
	}
}
{ // 方法四
	mainForm.vlist.headerFont = { // 没有设置默认字体
		::LOGFONT(name="宋体";point=12;color=0xFFFFFF); //单独设置某列字体
		::LOGFONT(name="微软雅黑";point=18;color=0xFF0000); //单独设置某列字体
		::LOGFONT(name="仿宋";point=22;bold=1;color=0x00FFFF); //单独设置某列字体
	}
}
mainForm.show();
win.loopMessage();


最新回复 (18)
  • I服了YOU 2月前
    0 引用 2
    支持✊
  • playboyeve 2月前
    0 引用 3
  • aika107 2月前
    0 引用 4
    可以单独设置某列的对齐方式么?
  • 光庆 2月前
    0 引用 5
    可以
  • 光庆 2月前
    0 引用 6
    aika107 可以单独设置某列的对齐方式么?
    mainForm.vlist.setTable(t,,{80,100,100,100,200},{0,1,2,1,2}); 其中的 {0,1,2,1,2} 就是各列对齐方式
  • nanyi 2月前
    0 引用 7
    强大到爆表
  • Xmzzz 2月前
    0 引用 8
    此楼层已删除
  • Xmzzz 2月前
    0 引用 9
    感谢光庆提供这么强大的插件。 setColumns里面说明 参数3:格式或数组,使用_LVCFMT_前缀的常量,但是我指定了 2/*_LVCFMT_CENTER*/却是右对齐,不是居中对齐。是我哪里没更新对吗?
  • 光庆 2月前
    0 引用 10
    Xmzzz 感谢光庆提供这么强大的插件。 setColumns里面说明 参数3:格式或数组,使用_LVCFMT_前缀的常量,但是我指定了  2/*_LVCFMT_CENTER*/却是右对齐,不是居中对齐。是我 ...

    _LVCFMT_不正确,下一版本修改此处提示。 统一使用 :水平: 0 左 1 中 2 右  垂直: 0 顶 4 中 8 底

  • mndsoft 2月前
    0 引用 11
    请问除了 表头 字体可以设置,表格数据可以设置字体吗?或者默认表头和内容统一字体 PS:建议下网站 帖子回复能否改为 最新的回复排序靠前,这样可以看到最新回复
  • 光庆 2月前
    0 引用 12
    mndsoft 请问除了 表头 字体可以设置,表格数据可以设置字体吗?或者默认表头和内容统一字体 PS:建议下网站 帖子回复能否改为 最新的回复排序靠前,这样可以看到最新回复

    单元格不能设置单独的字体,只能设置背景颜色和文本颜色。不要搞的太复杂,不然影响流畅性。

    默认表头和内容不是统一字体吗?应该是吧。 

    帖子回复不是最新的回复排序靠前吗?应该是吧。

  • mndsoft 2月前
    0 引用 13
    光庆 单元格不能设置单独的字体,只能设置背景颜色和文本颜色。不要搞的太复杂,不然影响流畅性。默认表头和内容不是统一字体吗?应该是吧。 帖子回复不是最新的回复排序靠前吗?应该是吧。
    默认表头和内容不是统一字体 ,我的意思是设置默认字体时,表头和单元格都同时默认,比如我表头设为 微软雅黑,单元格还是宋体,个人感觉不是很美观。 帖子回复,我这里看到的最新回复都是翻页才看到,比如最新回复都是以前的,不是最新回复的
  • 光庆 2月前
    0 引用 14
    设置了font,表头和单元格都同时默认。你测试一下。 设置了headerfont,则只管表头。
  • 光庆 2月前
    0 引用 15
    mndsoft 默认表头和内容不是统一字体 ,我的意思是设置默认字体时,表头和单元格都同时默认,比如我表头设为 微软雅黑,单元格还是宋体,个人感觉不是很美观。 帖子回复,我这里看到的最新回复都是翻页才看到,比如 ...
    你说的是回复的内容啊。晓得了。抽空改一下。
  • mndsoft 2月前
    0 引用 16
    光庆 单元格不能设置单独的字体,只能设置背景颜色和文本颜色。不要搞的太复杂,不然影响流畅性。默认表头和内容不是统一字体吗?应该是吧。 帖子回复不是最新的回复排序靠前吗?应该是吧。

    另外,请问表头高度不可设置吧。默认的表头文本数据下高度感觉太高了,比如


    但是如果 单元格是另外图文内容时,感觉还是不错哈,以上仅个人感觉和想法,总之 虚表是个很棒的作品。


  • 光庆 2月前
    0 引用 17

    可以设置啊。

    mainForm.vlist.setHeaderHeight(100)

  • mndsoft 2月前
    0 引用 18
    谢谢回复,很棒
  • 光庆 2月前
    0 引用 19

     图片可以设置scale属性,让他保持比例,这种圆形按钮会更好看。看了下,你这图片宽高还相同,怎么感觉不圆啊。


    编辑中间的竖线,也可以隐藏,效果会更好看。

返回