Foxtable(狐表)用户栏目专家坐堂 → 逻辑列实现单选 功能


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

主题:逻辑列实现单选 功能

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


加好友 发短信
等级:童狐 帖子:284 积分:2513 威望:0 精华:0 注册:2020/6/28 8:43:00
逻辑列实现单选 功能  发帖心情 Post By:2023/6/3 8:54:00 [只看该作者]

我有一个 任务状态的逻辑列,我想把它做成只能是单选的 在DataColChanged中加入以下代码
Select Case e.DataCol.Name
     Case "任务状态"
        If e.DataRow("任务状态") = True Then
         
            Dim drs As List(Of DataRow) = DataTables("信息记录").SQLSelect("任务状态 = 1")
            If drs.Count > 0 Then 
                For Each dr As DataRow In drs
                    dr("任务状态") = 0
                    dr.Save
                Next
                
            End If 
        End If 
        
End Select
这样做,如果我每次操作只勾选一行,可以实现把其它已经的清除掉勾选 。  但是如果我勾选多行,再保存,它会把我勾选的多行都可以选 中,  无法实现单选

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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/3 9:12:00 [只看该作者]

       If e.DataRow("任务状态") = True Then
                 Dim drs As List(Of DataRow) = DataTables("信息记录").SQLSelect("任务状态 = 1")
                For Each dr As DataRow In drs
                    dr("任务状态") = false
                Next    
DataTables("信息记录").SQLUpdate(drs) http://www.foxtable.com/webhelp/topics/2901.htm
            Dim drs As List(Of DataRow) = DataTables("信息记录").Select("任务状态 = true and _identify <>" & e.DataRow("_identify"))
                For Each dr As DataRow In drs
                    dr("任务状态") = false
                Next
        End If 

如果数据是全部加载的,没有必要使用SQLSelect,直接去掉第一段SQLSelect的代码即可

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


加好友 发短信
等级:童狐 帖子:284 积分:2513 威望:0 精华:0 注册:2020/6/28 8:43:00
  发帖心情 Post By:2023/6/3 9:55:00 [只看该作者]

谢谢!



 回到顶部