Foxtable(狐表)用户栏目专家坐堂 → 下拉窗口设置


  共有2452人关注过本帖树形打印复制链接

主题:下拉窗口设置

帅哥哟,离线,有人找我吗?
Bin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/14 9:13:00 [显示全部帖子]

参考http://www.foxtable.com/help/topics/1523.htm
自己设计一个窗口,用表格保存数据

实在搞不定就上例子吧


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/14 9:33:00 [显示全部帖子]

利用 DataColChanged事件 http://www.foxtable.com/help/topics/0625.htm

select case e.datacol.name
    case "列1","列2","列3"
        e.datarow("编号")=e.datarow("列1") & e.datarow("列2") & e.datarow("列3")
end select

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/14 11:14:00 [显示全部帖子]

上传图片看这里http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

最好就直接设置一个清空按钮

设置代码

dim r as row = tables("X").current
r("列1")=""
r("列2")=""

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/14 11:29:00 [显示全部帖子]

修改第一个后面的都清空?   在DataColChanged事件

dim ls as string()={"列1","列2","列3"}

select case e.datacol.name
    case "列1","列2","列3"
       Dim b As Boolean
       for each s as string in ls
            if b then
              e.datarow(s)=""
           end if
            if s == e.datacol.name then
                  b=true
           end if
           
       next
end select

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/2/14 14:06:00 [显示全部帖子]

dim ls as string()={"列1","列2","列3"}   '声明一个数组 包含所有参与的列,顺序一定要符合你的先后顺序

select case e.datacol.name '判断当前触发改变的列名
    case "列1","列2","列3"   '判断如果是符合你要求的列名
       Dim b As Boolean   '  增加一个逻辑类型的变量, 作为标识.
       for each s as string in ls  '遍历用到的列名数组 从第一个开始
            if b then   ' 判断标识如果是True 则说明这个列名的列需要清空
              e.datarow(s)=""   '清空
           end if
            if s == e.datacol.name then   '判断一下当前触发改变的列是否和遍历到的列名是一致 
                  b=true   '如果是一致,说明这个列就是你改变了列,那么从这个列开始,后面的列就需要清空了, 设置标识为True  下次循环的时候 因为标识已经为True就会把列清空
           end if
           
       next
end select

 回到顶部