Foxtable(狐表)用户栏目专家坐堂 → 表A中有开始 结束两个逻辑列 怎么实现表中的所有数据行 只能有一个开始列=true


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

主题:表A中有开始 结束两个逻辑列 怎么实现表中的所有数据行 只能有一个开始列=true

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
表A中有开始 结束两个逻辑列 怎么实现表中的所有数据行 只能有一个开始列=true  发帖心情 Post By:2022/4/27 1:48:00 [只看该作者]

表A中有开始 结束两个逻辑列  怎么实现表中的所有数据行 只能有一个开始列=true

1、如果某行 开始=true  结束=false 时 不允许别的行的开始=true

2、当某行 开始=true 且结束=true时  才允许别的行的开始=true


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107747 积分:548074 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/27 8:44:00 [只看该作者]

别的行指任意行?还是指某行的下一行?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)别的行指任意行?还是指某行的下一行...  发帖心情 Post By:2022/4/27 8:51:00 [只看该作者]

老师  是随机一行
只要随机有一行开始为TRUE   结束为FALSE 就不允许下一个随机行开始为TRUE   
必须开始为TRUE  且结束为TRUE  下一个随机行才能让开始为TRUE

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107747 积分:548074 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/27 9:08:00 [只看该作者]

意思是只要有任意一行的结束为FALSE,其它行开始就不能录入TRUE?

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)意思是只要有任意一行的结束为FALSE,...  发帖心情 Post By:2022/4/27 9:15:00 [只看该作者]

对  任意一行
开始为TRUE就一定要结束为TRUE
开始为FALSE 结束就一定为FALSE 不能为TRUE
开始 结束均为TRUE 其它任一行才能操作开始为TRUE 或结束为TRUE

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107747 积分:548074 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/27 9:53:00 [只看该作者]

到datacolchanging事件处理判断如果开始录入true,就使用find查询是否有开始不等于结束的行,如果有就取消录入

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)到datacolchanging事件处理判断如果开...  发帖心情 Post By:2022/4/27 10:31:00 [只看该作者]

    Case "开始状态","结束状态"
        If e.NewValue Then
            Dim bb As DataRow = DataTables("会议议题").Find("开始状态='true' and 结束状态 = 'false'and uuid='" & e.DataRow("uuid") & "'")
            If bb IsNot Nothing Then
                e.Cancel=True
                MessageBox.Show(bb("议题标题") & "在开始状态,且尚未结束的,请先结束再开始","提示!")
            Else
                e.DataRow("开始状态")=True
            End If
        End If

 

没有完美达到预期  麻烦老师指导下!

当开始为true  结束为false的时候   上述代码执行后 弹出提示后开始还是被选择true

 

[此贴子已经被作者于2022/4/27 10:32:38编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107747 积分:548074 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/27 10:55:00 [只看该作者]

    Case "开始状态"
        If e.NewValue Then
            Dim bb As DataRow = DataTables("会议议题").Find("开始状态=true and 结束状态 = false and uuid='" & e.DataRow("uuid") & "'")
            If bb IsNot Nothing Then
                e.Cancel=True
                MessageBox.Show(bb("议题标题") & "在开始状态,且尚未结束的,请先结束再开始","提示!")
            End If
        End If


 回到顶部