以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- Find Filter 条件 问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4329) |
-- 作者:mr725 -- 发布时间:2009/9/14 10:37:00 -- Find Filter 条件 问题 科目名称 列(内容样式): 银行存款_招商银行 在不分列的情况下, Dim dr As DataRow dr = DataTables("test").Find("\'" & dr("科目名称").split("_")(0) & "\' = \'银行存款\' And \'\'" & dr("科目名称").split("_")(1) & "\' = \'招商银行\' ") Tables("test").Filter ="[科目名称]1 = \'" & Value(0) & "\' And [科目名称]2 = \'" & Value(1) & "\'" 代码中标有底色的部分,\'" & dr("科目名称").split("_")(0) & "\'可以这么用吗?[科目名称]1又应怎样表达? 【说明】: 【 [科目名称]1 = 银行存款 和 [科目名称]2 =招商银行 】 【Value(0) 和 Value(1) 是目录树级次上的[科目名称]1 和[科目名称]2】 不知道我说的清楚没有? [此贴子已经被作者于2009-9-14 10:37:52编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2009/9/14 11:06:00 -- 比较的时候必须是列名和常量的比较,你的Split计算出来的是一个常量,常量和常量的比较,对于任何行都一样。 不能用find,只能用for each,逐行比较。 |
-- 作者:mr725 -- 发布时间:2009/9/14 11:42:00 -- Select Case e.Node.Level [此贴子已经被作者于2009-9-14 11:41:42编辑过]
|
-- 作者:mr725 -- 发布时间:2009/9/14 11:55:00 -- 还是不行,又是常量比较啦,难道非要把 科目名称 列 进行分列后,再取 分列名 来比较? 要知道: 科目 可能有五极,难道我要再分五列?就算内部表,每年也有几万条记录啊~ 不分列真的不可以吗? |
-- 作者:chenwuwenyu -- 发布时间:2009/9/14 13:00:00 -- Dim dr As DataRow [此贴子已经被作者于2009-9-14 13:01:17编辑过]
|
-- 作者:czy -- 发布时间:2009/9/14 14:38:00 -- 为何不用Like ? |
-- 作者:czy -- 发布时间:2009/9/14 14:49:00 -- 这样行吗? Dim Value() As String = e.Node.FullPath.Split("\\") Select Case e.Node.Level Case 0 Tables("test").Filter = "科目名称 Like \'" & e.Node.Text & "*\'" Case 1 Tables("test").Filter = "科目名称 Like \'" & Value(0) & "_" & Value(1) & "*\'" End Select |
-- 作者:mr725 -- 发布时间:2009/9/14 18:59:00 -- 以下是引用czy在2009-9-14 14:49:00的发言:
这样行吗? Dim Value() As String = e.Node.FullPath.Split("\\") Select Case e.Node.Level Case 0 Tables("test").Filter = "科目名称 Like \'" & e.Node.Text & "*\'" Case 1 Tables("test").Filter = "科目名称 Like \'" & Value(0) & "_" & Value(1) & "*\'" End Select 谢谢c版,很好用~ 【下午有空时一直在琢磨不分列怎么来生成目录树,没成功(用其他方式替代了),所以刚刚才试了试您的代码,非常理想】 |