以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] 怎么用代码隐藏行呢? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=129235) |
-- 作者:龙潭春早 -- 发布时间:2018/12/24 21:02:00 -- [求助] 怎么用代码隐藏行呢? 有些行的内容想要隐藏,怎么用代码实现呢? [此贴子已经被作者于2018/12/24 21:03:04编辑过]
|
-- 作者:有点蓝 -- 发布时间:2018/12/24 22:03:00 -- 移除即可http://www.foxtable.com/webhelp/scr/2736.htm |
-- 作者:龙潭春早 -- 发布时间:2018/12/24 22:53:00 -- 移除的话,倒是可以看不到这些行了。 但是,希望在改变条件的情况下,还能看到这些行。比如,点击菜单按钮,就能显示其它的行。 所以,希望在某种情况下,只是隐藏这些行,而不是移除(移除的话,再看到需要重新加载了)。 这样要怎么做呢?
|
-- 作者:有点蓝 -- 发布时间:2018/12/24 22:56:00 -- tables.filter = "_Identify not in(1,2,3)" 1,2,3使用隐藏的行的主键
|
-- 作者:龙潭春早 -- 发布时间:2018/12/24 23:02:00 -- 没太明白。 蓝老师再详细讲讲。 太晚了就明天吧。
|
-- 作者:有点蓝 -- 发布时间:2018/12/24 23:14:00 -- http://www.foxtable.com/webhelp/scr/0102.htm In 运算符用来判断某一个值是否在指定的一系列值中,例如: [国籍] In (\'中国\',\'美国\',\'英国\',\'法国\',\'俄罗斯\') 表示判断国籍是否是上述五国之一,显然这比用OR来连接多个表达式要简洁很多。 记得数值型的列,值不要用单引号括起来,例如: [订单号] In (1, 3, 4, 6, 7,12) 而日期型的列,值需要用符号#括起来,例如: [日期] In (#7/2/2012#, #7/12/2012#, #8/30/2012#) 同样如果在 In 运算符之前,加上 Not 关键词,表示不在指定的一系列值之中,例如: [国籍] Not In (\'中国\',\'美国\',\'英国\',\'法国\',\'俄罗斯\') 表示国籍非上述指定的五国。 |
-- 作者:有点甜 -- 发布时间:2018/12/25 8:59:00 -- 参考代码
CurrentTable.grid.Rows(2).visible = False
|
-- 作者:龙潭春早 -- 发布时间:2018/12/25 14:46:00 -- 谢谢蓝老师,那么晚了还给回复! 想隐藏不含“酒店”数组所在的行,要怎么操作呢? 下面的代码对吗? 代码中的【 不显示该行 】部分的代码不知道怎么写了,请老师们帮个忙。 For Each dr As DataRow In DataTables("综合表").DataRows \' 遍历 "综合表" 的数据行 If dr.IsNull("应用场所") = False Then \' 如果 "应用场所" 列不为空 Dim plcs() As String = dr("应用场所").Split(",") \' 将 "应用场所" 列的内容拆分成数组 If \'酒店\' Not In plcs Then \' 如果场所中不包括此场所 【 不显示该行 】 End If End If Next |
-- 作者:龙潭春早 -- 发布时间:2018/12/25 14:57:00 -- 这样? For Each dr As DataRow In DataTables("综合表").DataRows \' 遍历 "综合表" 的数据行 If dr.IsNull("应用场所") = False Then \' 如果 "应用场所" 列不为空 Dim plcs() As String = dr("应用场所").Split(",") \' 将 "应用场所" 列的内容拆分成数组 Tables.filter = " \'酒店\' Not In plcs" End If End If Next
|
-- 作者:有点甜 -- 发布时间:2018/12/25 15:05:00 -- Dim ls As List(of String) For Each dr As DataRow In DataTables("综合表").DataRows \' 遍历 "综合表" 的数据行 If dr.IsNull("应用场所") = False Then \' 如果 "应用场所" 列不为空 Dim plcs() As String = dr("应用场所").Split(",") \' 将 "应用场所" 列的内容拆分成数组 ls.AddRange(plcs) End If Next For i As Integer = 1 To Tables("表A").grid.Rows.count-1 If ls.Contains(Tables("表A").grid.Rows(i)("酒店")) Then Tables("表A").grid.Rows(i).visible = False Else Tables("表A").grid.Rows(i).visible = True End If Next |