newease 发表于 2009-8-11 08:41:44

如何实现数据窗口的多行选择?

本帖最后由 newease 于 2009-8-11 08:43 编辑

如何实现数据窗口的多行选择?


作一数据窗口通用对象(UserObject),在CLICKED事件中写入如下代码:

long lng_currentrow,lng_j

if row=0 then
    return
else
    lng_currentrow=row //当前鼠标点中行
end if
if keydown(keyshift!) then //按下SHIFT键
    if i_lng_lastrow=0 then //上次没选中任何行
      this.selectrow(lng_currentrow,true)
      i_lng_lastrow=lng_currentrow //i_lng_lastrow为实例变量,记录上次单击的行
    else
      this.selectrow(0,false) //全都不选中
      if lng_currentrow>i_lng_lastrow then
            for lng_j=i_lng_lastrow to lng_currentrow
                this.selectrow(lng_j,true)
            end for
      else
            for lng_j=i_lng_lastrow to lng_currentrow step -1
                this.selectrow(lng_j,true)
            end for
      end if
    end if
else
    i_lng_lastrow=lng_currentrow
    if keydown(keycontrol!) then //按下CTRL键
      if this.isselected(lng_currentrow) then
            this.selectrow(lng_currentrow,false)
      else
            this.selectrow(lng_currentrow,true)
      end if
    else //无任何键按下
      this.selectrow(0,false)
      this.selectrow(lng_currentrow,true)
    end if
end if

在窗口的OPEN事件中写入如下代码:

dw_1.object.datawindow.readonly=true
页: [1]
查看完整版本: 如何实现数据窗口的多行选择?

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com