苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 1798|回复: 1

高级筛选能代码设置然后筛选吗

[复制链接]

13

主题

16

帖子

137

积分

注册会员

Rank: 2

积分
137
发表于 2025-4-7 20:58:41 | 显示全部楼层 |阅读模式


这个高级筛选可以代码设置然后筛选吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

104

主题

423

帖子

2779

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2779
QQ
发表于 2025-4-7 21:26:23 | 显示全部楼层
我们可以通过SmGrid.GridAdvanceFilter属性访问到高级筛选这个对象,然后用代码控制各个选项的筛选设置值。
  1. '测试代码仅随便获得一个表的引用
  2. Dim tbl As SmGrid=Proj.CurrentSmGrid
  3. '根据字段名称获得相应的选项引用
  4. Dim col As AdvanceFilterItem= tbl.GridAdvanceFilter.FilterCols("列名称")
  5. '根据DataControl返回设置值的控件引用,因为日期控件、数值类型、下拉控件都是基于C1TextBox控件扩展的,
  6. '所以我们都可以将这个控件转化为C1TextBox,这只是针对只有一个参数的场景,日期型和数值型区间筛选模式代表第一个控件
  7. Dim ctrl As C1TextBox=col.DataControl
  8. ctrl.Value="ABC"
  9. '针对日期型和数值型区间筛选模式的,需要另外处理
  10. 'DateTimeItem这个类需要下个版本2025.04.07以后才开放
  11. Dim colDate As DateTimeItem= tbl.GridAdvanceFilter.FilterCols("日期类型列名称")
  12. Dim ctrlBegin As SmDateEdit=colDate.DateTimeBegin
  13. ctrlBegin.Value=DateTime.Now
  14. Dim ctrlEnd As SmDateEdit=colDate.DateTimeEnd
  15. ctrlEnd.Value=DateTime.Now.AddDays(5)
  16. 'NumberItem这个类需要下个版本2025.04.07以后才开放
  17. Dim colNum As NumberItem= tbl.GridAdvanceFilter.FilterCols("数值类型列名称")
  18. Dim numBegin As SmNumericComboBox=colNum.NumberBegin
  19. numBegin.Value=1
  20. Dim numEnd As SmNumericComboBox=colNum.NumberEnd
  21. numEnd.Value=100
  22. '重新加载表数据,会自动从高级筛选中获得相应的最终筛选条件进行筛选重载
  23. tbl.ReloadData()
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2025-5-7 01:21 , Processed in 0.066438 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表