以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动增加行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135141)

--  作者:联友
--  发布时间:2019/5/18 11:23:00
--  自动增加行

表A班级和数量输入内容后,如果没有空行,自动增加一行,如果有二行删除一行,请老师指教,谢谢!

dr = DataTables("表A").Find("班级 Is Not Null And 数量 > 0")
If dr IsNot Nothing Then
    DataTables("表A").AddNew
Else
    DataTables("表A").DataRows.Delete
End If


--  作者:有点蓝
--  发布时间:2019/5/18 13:19:00
--  
有二行删除一行 -- 是指有2个空行?还是指有2个有值的行?
--  作者:联友
--  发布时间:2019/5/18 13:25:00
--  

在 DataColChanged

班级、数量都输入值,增加一行,如果班级、数量都删除值,空白行有两行及以上删除,只保留一行空白行。

这样输入班级或者数量都会增加一行,错在哪里?

dr = DataTables("表A").Find("班级 Is Not Null And 数量 > 1")
If dr IsNot Nothing
    DataTables("表A").AddNew
Else
    If 空白行 > 1 Then
        dr.Delete
    End If
End If

[此贴子已经被作者于2019/5/18 13:49:00编辑过]

--  作者:有点蓝
--  发布时间:2019/5/18 13:42:00
--  
Dim drs As List(Of DataRow) = DataTables("表A").Select("班级 Is Null And (数量 = 0 or 数量 is null)")
If drs.Count = 0 Then
    DataTables("表A").AddNew
ElseIf drs.Count > 1
    For i As Integer = drs.Count-1 To 1 Step -1
        drs(i).delete
    Next
End If
[此贴子已经被作者于2019/5/18 13:42:30编辑过]

--  作者:联友
--  发布时间:2019/5/18 13:51:00
--  
谢谢