以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Filter 问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=173395) |
||||
-- 作者:edisontsui -- 发布时间:2021/11/27 15:51:00 -- Filter 问题 Dim a As DataRow = DataTables("钣金送货单").Find("材料 is null") Dim Nian As String = a("送货年月日").Substring(0,4) 上面的代码放在一个按钮里面。查找时是从 钣金送货单 这个表的所有数据行进行查找。我希望只从筛选后的数据行里面去查找数据。请问要怎样改代码?谢谢、
|
||||
-- 作者:jialihaha -- 发布时间:2021/11/27 16:00:00 -- http://www.foxtable.com/webhelp/topics/0552.htm |
||||
-- 作者:有点蓝 -- 发布时间:2021/11/27 16:38:00 -- dim filter as string = "材料 is null" if Tables("钣金送货单").filter > "\' then filter = filter & " and " & Tables("钣金送货单").filter end if Dim a As DataRow = DataTables("钣金送货单").Find(filter ) if a isnot bhing then Dim Nian As String = a("送货年月日").Substring(0,4) end if |
||||
-- 作者:edisontsui -- 发布时间:2021/11/27 16:46:00 -- 这些代码,我老是学不会,没有理解前面4行的含义。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/11/27 17:14:00 -- 把筛选的条件合并到其它条件里 |
||||
-- 作者:edisontsui -- 发布时间:2022/9/1 15:25:00 -- If CurrentTable.name.contains("员工名单") Then Dim filter As String = Tables("请假加班").filter If filter > "" Then filter = filter & " and " Dim xms As List(Of String) = DataTables("请假加班").GetValues("姓名",Tables("请假加班").filter) For Each xm As String In xms Dim qty As Integer = Tables("请假加班").Compute("sum(无薪假天数)", "姓名 =\'" & xm & "\' ") Dim dr97 As DataRow = DataTables("员工名单").find("姓名 =\'" & xm & "\' ") If dr97 IsNot Nothing Then If qty > 0 Then dr97("无薪假天") = qty Else dr97("无薪假天") = Nothing End If End If Next End If 上面的代码,我先在“请假加班”里面做一次筛选,然后再执行 Tables("请假加班").Compute("sum(无薪假天数)", "姓名 =\'" & xm & "\' ") 的计算,希望只计算筛选后的数据,但是实际上计算出来的qty 却还是筛选前的数据,请问是哪里的问题呢?谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2022/9/1 15:36:00 -- If CurrentTable.name.contains("员工名单") Then Dim filter As String = Tables("请假加班").filter If filter > "" Then filter = filter & " and 姓名 =\'" & xm & "\'" else filter = "姓名 =\'" & xm & "\'" endif Dim xms As List(Of String) = DataTables("请假加班").GetValues("姓名",Tables("请假加班").filter) For Each xm As String In xms Dim qty As Integer = Tables("请假加班").Compute("sum(无薪假天数)", filter ) Dim dr97 As DataRow = DataTables("员工名单").find("姓名 =\'" & xm & "\' ")
|
||||
-- 作者:edisontsui -- 发布时间:2022/9/1 16:23:00 -- 我后来再测试一次,好像6楼的数据又正确了。奇怪。 |
||||
-- 作者:edisontsui -- 发布时间:2022/9/2 13:35:00 --
请看附件代码。我还加了一句: Dim ty9 As String = DataTables("考勤记录").GetComboListString("季度") 但是这句会处理筛选前的数据,而我希望它处理筛选后的数据,请问这里要怎样修改?谢谢。
|
||||
-- 作者:有点蓝 -- 发布时间:2022/9/2 13:37:00 -- 不都一样的处理方法? |