以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 删除行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117334) |
-- 作者:qinjh18935180888 -- 发布时间:2018/4/10 20:49:00 -- 删除行 老师,在这个地方,怎样删除 DataTables("订单")中没有找到相同编号的行,也就是删除 Dr 行。 Dim Book As New XLS.Book("c:\\test\\订单.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("订单").StopRedraw() Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"} For n As Integer = 1 To Sheet.Rows.Count -1 Dim bh As String = sheet(n,0).Text Dim dr As DataRow = DataTables("订单").Find("编号 = \'" & bh & "\'") If dr Is Nothing Then \'如果不存在同编号的订单 老师,在这个地方,怎样删除 DataTables("订单")中没有找到相同编号的行,也就是删除 Dr 行。 dr = DataTables("订单").AddNew() End If For m As Integer = 0 To nms.Length - 1 dr(nms(m)) = Sheet(n,m).Value Next Next Tables("订单").ResumeRedraw() |
-- 作者:有点蓝 -- 发布时间:2018/4/10 21:06:00 -- 既然没有找到相同编号的行,也就是不存在这行,又何需删除? |
-- 作者:qinjh18935180888 -- 发布时间:2018/4/10 21:20:00 -- DataTables("订单") 中有这个编号的行,只不过在sheet中没有找到这个编号的行。我的意思是找到相同的编号就覆盖,没有找到就删除 DataTables("订单")的行。 |
-- 作者:有点蓝 -- 发布时间:2018/4/10 21:36:00 -- 用个集合记录找到的行,然后删除剩下的 Dim Book As New XLS.Book("c:\\test\\订单.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) Tables("订单").StopRedraw() Dim nms() As String = {"编号","产品","客户","雇员","单价","折扣","数量","日期"} Dim lst As new List(of String) For n As Integer = 1 To Sheet.Rows.Count -1 Dim bh As String = sheet(n,0).Text Dim dr As DataRow = DataTables("订单").Find("编号 = \'" & bh & "\'") If dr Is Nothing Then \'如果不存在同编号的订单 dr = DataTables("订单").AddNew() Else lst.Add(dr("编号")) End If For m As Integer = 0 To nms.Length - 1 dr(nms(m)) = Sheet(n,m).Value Next Next DataTables("订单").DeleteFor("编号 not in (\'" & String.Join("\',\'",lst.ToArray) & "\')") Tables("订单").ResumeRedraw() |
-- 作者:qinjh18935180888 -- 发布时间:2018/4/10 22:04:00 -- ok
[此贴子已经被作者于2018/4/10 22:04:19编辑过]
|