Foxtable(狐表)用户栏目专家坐堂 → 帮看看代码怎么修改(已解决)


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

主题:帮看看代码怎么修改(已解决)

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
帮看看代码怎么修改(已解决)  发帖心情 Post By:2021/5/6 20:58:00 [只看该作者]

 

 

If  e.DataRow("第一列") = 1 Then

Dim a as string = e.DataRow("第二列")  


Dim drs As List (of DataRow) = DataTables("表A").Select("第二列 like '" & a & "%'")


For Each dr As DataRow In drs

 

IF dr("第三列") = true then
dr("第四列").Visible = True

end if

Next

 

end if


此主题相关图片如下:捕获11.jpg
按此在新窗口浏览图片
[此贴子已经被作者于2021/5/7 14:19:14编辑过]

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


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

一个列只能整体隐藏和显示,无法显示一部分,隐藏一部分

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/5/6 21:06:00 [只看该作者]

放在窗口中  鼠标放在某一行 该行 某一列 隐藏的话  则看不到 可以的
[此贴子已经被作者于2021/5/6 21:06:32编辑过]

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


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

没看懂到底想表达什么

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/5/7 10:44:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

又调整了下代码,还是报错。帮看看,谢谢

 

Dim a As String = Tables("表A").Current("第二列") 
If a.contains(".") Then   ' 如果 第二列包含" ."
Dim b As String = left(a,a.IndexOf("."))    '取第一个" ." 左侧的字符
Dim drs As List(Of DataRow) = DataTables("表A").Select("第二列 LIKE '" & b & "%' ")    ' 查找第二列包含 b的行,
For Each dr As DataRow In drs
If dr("第三列") = True Then      ' 如果查找到的行中,的第三列有1个值为true
    Tables("表A").Current("第四列").Visible = True    ' 设置第四列 当前行的 是否隐藏
Else
    Tables("表A").Current("第四列").Visible = False
End If
Next
Else
Dim b As String = a    ' 第二列不包含" ." 的话,b取值a
Dim drs1 As List(Of DataRow) = DataTables("表A").Select("第二列 LIKE '" & b & "%' ")  ' 查找第二列包含 b的行,
For Each dr1 As DataRow In drs1
   If dr1("第三列") = True Then     ' 如果查找到的行中,的第三列有1个值为true
   Tables("表A").Current("第四列").Visible = True    ' 设置第四列 当前行的 是否隐藏
Else
    Tables("表A").Current("第四列").Visible = False
End If
Next
End If

[此贴子已经被作者于2021/5/7 10:44:34编辑过]

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


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/7 10:46:00 [只看该作者]

首先这种代码不应该放到表事件处理,其次我还是没搞懂到底要做什么功能

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/5/7 10:55:00 [只看该作者]

以表中的数据为例

 

找到第二列中包含a的行,如果这些行中的第三列有1个值为true,那就把这些行的第四列设置为可见,否则为隐藏。

 

 

找到第二列中包含r的行,如果这些行中的第三列有1个值为true,那就把这些行的第四列设置为可见,否则为隐藏。

 

找到第二列中包含b的行,如果这些行中的第三列有1个值为true,那就把这些行的第四列设置为隐藏,否则为隐藏。


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


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/7 11:05:00 [只看该作者]

都说了列只能整个隐藏和显示。假如同时有下面情况,那么第四列到底是可见还是隐藏?

第二列中包含a的行,如果这些行中的第三列有1个值为true
第二列中包含r的行,如果这些行中的第三列全部都不为true

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


加好友 发短信
等级:超级版主 帖子:107014 积分:544295 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/7 11:13:00 [只看该作者]

如果是指隐藏第四列单元格里面输入的内容,到drawcell事件处理,比如

If e.Col.Name = "第四列" Then
    If e.Row("第二列") Like "*a*"
        If e.Table.Compute("count(第二列)","第二列 like '%a%' and 第三列=true") > 0 Then
            e.Text = ""
        End If
    End If
End  If

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


加好友 发短信
等级:小狐 帖子:337 积分:3225 威望:0 精华:0 注册:2020/2/25 23:12:00
  发帖心情 Post By:2021/5/7 11:20:00 [只看该作者]

不是隐藏内容,是隐藏列,因为我做的表的列有好几十个,太多了,想根据条件隐藏或显示。

 

 

实际应用的时候是建了个窗口,窗口绑定了这个表,根据这个表的内容 是否隐藏第四列。


 回到顶部
总数 18 1 2 下一页