递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 386|回复: 6
打印 上一主题 下一主题

[视窗] 【问题】超级列表框.虚拟表项数【已上传例子了】

[复制链接]

9

主题

46

帖子

364

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
364
跳转到指定楼层
楼主
发表于 2024-6-1 15:59:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 78592802 于 2024-6-3 21:04 编辑

使用虚表时遇到的问题
设置此函数时系统会自动调用 保证显示 到之前的选中项 ???
当有动态添加表项时使用滚动条极不方便,老是自己跳回去




虚表-超级列表框.zip (33.59 KB, 下载次数: 4)




<火山程序 类型 = "通常" 版本 = 1 />

包 火山.程序

类 启动类 <公开 基础类 = 窗口程序类>
{
    变量 主窗口对象 <类型 = 我的主窗口>

    方法 启动方法 <公开 类型 = 整数>
    {
        主窗口对象.创建主窗口 ()
        返回 (1)
    }
}

# ===

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"290, 237\"" 标题 = "我的主窗口">
{
    常量 列索引_序号 <公开 类型 = 整数 值 = 0>
    常量 列索引_A <公开 类型 = 整数 值 = 1>
    常量 列索引_B <公开 类型 = 整数 值 = 2>

    变量 时钟1 <类型 = 时钟 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"173, 38, 64, 16\"">
    变量 超级列表框1 <类型 = 超级列表框 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 102\r\npos = \"5, 6, 280, 224\"" 虚拟化数据 = 真
            显示表格线 = 真 整行选择 = 真 始终显示选择项 = 真 报表列 = "0\n-1\n0\n50\n序号\n0\n-1\n0\n50\nA\n0\n-1\n0\n50\nB"
            "类型" = 报表列表框>
    变量 ""
    变量 列表1信息数组对象 <公开 类型 = 列表1信息数组类型>
    变量 ""

    方法 我的主窗口_创建完毕 <接收事件 类型 = 整数 注释 = "当本组件及其中所有子组件均被创建完毕后发送此事件.">
    参数 来源对象 <类型 = 我的主窗口 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        计次循环 (20)
        {
            变量 局部列表1信息 <类型 = 列表1信息>
            置随机数种子 ()
            局部列表1信息.文本 [列索引_序号] = 到文本 (列表1信息数组对象.取成员数 ())
            局部列表1信息.文本 [列索引_A] = 到文本 (取随机数 (1, 99999))
            局部列表1信息.文本 [列索引_B] = 到文本 (取随机数 (1, 99999))
            列表1信息数组对象.加入成员 (局部列表1信息)
            超级列表框1.虚拟表项数 = 列表1信息数组对象.取成员数 ()

        }
        超级列表框1.现行选中项 = 0
        时钟1.时钟周期 = 500
        返回 (0)
    }

    方法 时钟_周期事件 <接收事件 类型 = 整数 注释 = "每当经过了指定的时钟周期,将发送本事件.">
    参数 来源对象 <类型 = 时钟 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
        如果 (来源对象 == 时钟1)
        {
            变量 局部列表1信息 <类型 = 列表1信息>
            置随机数种子 ()
            局部列表1信息.文本 [列索引_序号] = 到文本 (列表1信息数组对象.取成员数 ())
            局部列表1信息.文本 [列索引_A] = 到文本 (取随机数 (1, 99999))
            局部列表1信息.文本 [列索引_B] = 到文本 (取随机数 (1, 99999))
            列表1信息数组对象.加入成员 (局部列表1信息)
            超级列表框1.虚拟表项数 = 列表1信息数组对象.取成员数 ()

        }
        返回 (0)
    }

    方法 超级列表框_虚拟表项填充 <接收事件 类型 = 整数 注释 = "  在超级列表框即将绘制某虚拟项目之前被发送,用户可以修改所提供参数中的\"项目文本\"、\"表项数值\"、"
            注释 = "\"图片索引\"和\"检查框状态\"成员值以修改在绘制时所实际使用的表项数据." 注释 = "  本事件仅当\"虚拟化数据\"属性为真时才会发送.">
    参数 来源对象 <类型 = 超级列表框 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 表项参数 <类型 = 超级列表框表项填充 注释 = "  用户可以修改本参数中的\"项目文本\"、\"表项数值\"、\"图片索引\"和\"检查框状态\"成员值以修改在绘制"
            注释 = "时所实际使用的表项数据." 注释 = "  注意: 如果修改了本参数中的\"项目文本\"、\"表项数值\"、\"图片索引\"和\"检查框状态\"成员值,将会对"
            注释 = "当前表项的当前列及其后所有列均造成影响.">
    {
        如果 (来源对象 == 超级列表框1)
        {
            如果 (表项参数.表项索引 < 列表1信息数组对象.取成员数 ())
            {
                表项参数.项目文本 = 列表1信息数组对象.取成员 (表项参数.表项索引).文本 [表项参数.列索引]
            }

        }
        返回 (0)
    }
}

类 列表1信息 <公开>
{
    变量 文本 <公开 类型 = "文本型 [20]">
}

类 列表1信息数组类型 <公开 基础类 = 对象数组模板类 @模板实现类 = "列表1信息">
{

    #
}


回复

使用道具 举报

6

主题

98

帖子

1162

积分

金牌会员

Rank: 6Rank: 6

积分
1162
来自 6#
发表于 2024-6-4 00:27:22 | 只看该作者
78592802 发表于 2024-6-3 23:30
算,虽然会触发“超级列表框_当前表项被改变”事件,这个也可以判断避免,但是把单一选择设置为假,它又 ...

哪疼医哪

回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
37440
沙发
发表于 2024-6-2 22:54:11 | 只看该作者
没明白你说的是什么意思?发个例子出来?
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

9

主题

46

帖子

364

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
364
板凳
 楼主| 发表于 2024-6-3 21:05:12 | 只看该作者
创世魂 发表于 2024-6-2 22:54
没明白你说的是什么意思?发个例子出来?

已上传例子了
回复

使用道具 举报

6

主题

98

帖子

1162

积分

金牌会员

Rank: 6Rank: 6

积分
1162
地板
发表于 2024-6-3 23:09:55 | 只看该作者

这算一个办法吧.
回复

使用道具 举报

9

主题

46

帖子

364

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
364
5#
 楼主| 发表于 2024-6-3 23:30:26 | 只看该作者
zlk 发表于 2024-6-3 23:09
这算一个办法吧.

算,虽然会触发“超级列表框_当前表项被改变”事件,这个也可以判断避免,但是把单一选择设置为假,它又不行了,哈哈
回复

使用道具 举报

9

主题

46

帖子

364

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
364
7#
 楼主| 发表于 2024-6-4 01:45:25 | 只看该作者

好吧,目的总是达到了,就是这个火山留的有些坑难受,时不时的总能遇上那么个把
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-27 03:15 , Processed in 0.098673 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表