4463424 发表于 2023-6-9 22:07:56

超级列表框问题

如图 案例是官方自带的 超级列表框
选择一行,如果间隔时间稍微长点 始终是第一列进入编辑模式,怎么关闭这种模式。

创世魂 发表于 2023-6-10 17:45:47

允许编辑=假

4463424 发表于 2023-6-11 09:49:45

创世魂 发表于 2023-6-10 17:45
允许编辑=假

如果我只想第二列才能编辑,该怎么弄?
我在单击事件 或 双击事件中用位置判断取出列数,再进行允许编辑 值赋值
但不好使,双击能达到效果,但是两次单击,就只会进入第0列。

4463424 发表于 2023-6-11 14:18:34

4463424 发表于 2023-6-11 09:49
如果我只想第二列才能编辑,该怎么弄?
我在单击事件 或 双击事件中用位置判断取出列数,再进行允许编辑...

谢谢 ,找到方法了!!!
附例子
---------------------------------------------------------------------------------------------------


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

包 火山.程序

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

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

# ===

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"500, 300\"" 标题 = "我的主窗口">
{
    变量 超级列表框1 <类型 = 超级列表框 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"36, 19, 346, 256\"" "类型" = 报表列表框
            显示表格线 = 真 报表列 = "0\n-1\n0\n100\na\n0\n-1\n1\n100\nb\n0\n-1\n1\n100\nc\n0\n-1\n1\n100\nd"
            表项 = "0\n-1\n-1\n0\n0\n1\n\n1\n-1\n-1\n0\n0\n2\n\n1\n-1\n-1\n0\n0\n3\n\n1\n-1\n-1\n0\n0\n4\n\n1\n-1\n-1\n0\n0\n5\n\n0\n-1\n-1\n0\n0\n2\n\n1\n-1\n-1\n0\n0\n1\n\n1\n-1\n-1\n0\n0\n2\n\n1\n-1\n-1\n0\n0\n3\n\n1\n-1\n-1\n0\n0\n4\n\n0\n-1\n-1\n0\n0\n3\n\n1\n-1\n-1\n0\n0\n1\n\n1\n-1\n-1\n0\n0\n2\n\n1\n-1\n-1\n0\n0\n3\n\n1\n-1\n-1\n0\n0\n4\n"
            允许编辑 = 真 整行选择 = 真 允许编辑子项目 = 真>

    方法 超级列表框_开始编辑 <接收事件 类型 = 整数 注释 = "当表项进入标题编辑状态前产生此事件,要产生本事件\"允许编辑\"属性必须"
            注释 = "为真.事件处理方法返回1则不允许进入编辑状态,返回0允许进入." 折叠2>
    参数 来源对象 <类型 = 超级列表框 注释 = "提供事件产生的具体来源对象" 折叠>
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 表项索引 <类型 = 整数 注释 = "提供即将进入编辑状态的表项的索引位置,从0开始.">
    {
      如果 (来源对象 == 超级列表框1)
      返回 (1)
    }

    方法 超级列表框_开始子项编辑 <接收事件 类型 = 整数 注释 = "当表项进入标题编辑状态前产生此事件,要产生本事件\"允许编辑子项目\"属性必须"
            注释 = "为真.事件处理方法返回1则不允许进入编辑状态,返回0允许进入.">
    参数 来源对象 <类型 = 超级列表框 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 表项索引 <类型 = 整数 注释 = "提供即将进入编辑状态的表项的索引位置,从0开始.">
    参数 列索引 <类型 = 整数 注释 = "提供即将进入编辑状态的子项的列索引位置,从0开始.">
    {
      如果 (来源对象 == 超级列表框1)
      {
            如果 (列索引 == 2)
            {
                返回 (0)
            }
            否则
            {
                返回 (1)
            }

      }
      返回 (0)
    }
}
页: [1]
查看完整版本: 超级列表框问题