以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]datarow 集合,可以用集合add来加入行吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94301) |
-- 作者:yancheng -- 发布时间:2016/12/20 19:40:00 -- [求助]datarow 集合,可以用集合add来加入行吗? Dim tr As WinForm.TreeView = e.Form.Controls("项目类别") Dim filter As String Dim drs As new List (of DataRow) For Each nd As WinForm.TreeNode In tr.AllNodes If nd.Level = 1 And nd.Checked = True Then drs.Add(nd.DataRow) End If Next If drs.Count > 0 Then For Each dr As DataRow In drs DataTables("施工合同").SQLReplaceFor("非活动",0, "合同编号 = \'" & dr("合同编号") & "\'") DataTables("施工合同").SQLReplaceFor("非活动",1, "合同编号 <> \'" & dr("合同编号") & "\'") Next DataTables("施工合同").LoadFilter = "非活动 = 0" DataTables("施工合同").Load Tables("主窗口_table1").Filter = "非活动 = 0" Tables("主窗口_table1").Sort = "签订日期 desc" Else Return End If 这种用法对吗? 我这样写,只有最后一个;选中的节点,被筛选出来了。其它的:非活动,全部为:1
[此贴子已经被作者于2016/12/20 19:41:03编辑过]
|
-- 作者:yancheng -- 发布时间:2016/12/20 20:19:00 -- Dim tr As WinForm.TreeView = e.Form.Controls("项目类别") Dim filter As String Dim drs As new List (of DataRow) Dim drs1 As new List (of DataRow) For Each nd As WinForm.TreeNode In tr.AllNodes If nd.Level = 1 If nd.Checked = True Then drs.Add(nd.DataRow) Else drs1.Add(nd.DataRow) End If End If Next If drs.Count > 0 Then For Each dr As DataRow In drs DataTables("施工合同").SQLReplaceFor("非活动",0, "合同编号 = \'" & dr("合同编号") & "\'") Next For Each dr1 As DataRow In drs1 DataTables("施工合同").SQLReplaceFor("非活动",1, "合同编号 = \'" & dr1("合同编号") & "\'") Next DataTables("施工合同").LoadFilter = "非活动 = 0" DataTables("施工合同").Load Tables("主窗口_table1").Filter = "非活动 = 0" Tables("主窗口_table1").Sort = "签订日期 desc" Else Return End If 我改成这样,就可以了。 不知道,有没有更简单的代码。 请老师指教一下。很想用其它的方法实现。
|
-- 作者:有点蓝 -- 发布时间:2016/12/20 21:12:00 -- Dim tr As WinForm.TreeView = e.Form.Controls("项目类别") Dim filter As String Dim drs As new List (of String) For Each nd As WinForm.TreeNode In tr.AllNodes If nd.Level = 1 If nd.Checked = True Then drs.Add(nd.DataRow("合同编号")) End If End If Next If drs.Count > 0 Then filter = "合同编号 in (\'" & String.Join("\',\'",drs.ToArray()) & "\')" DataTables("施工合同").LoadFilter = filter DataTables("施工合同").Load Tables("主窗口_table1").Filter = filter Tables("主窗口_table1").Sort = "签订日期 desc" Else Return End If
|