Foxtable(狐表)用户栏目专家坐堂 → [求助]判断空行后删除


  共有2773人关注过本帖树形打印复制链接

主题:[求助]判断空行后删除

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/11 15:22:00 [显示全部帖子]

Dim t As Table = e.form.controls("Table1").Table

t.DataTable.DeleteFor("品名 is null and 规格型号 is null")


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 11:06:00 [显示全部帖子]

Dim r As Row = e.form.controls("订货明细表").Table.Current

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 11:43:00 [显示全部帖子]

Dim t As Table = e.form.controls("订货明细表").Table
For i As Integer = t.rows.count-1 To 0 Step -1
    Dim r As Row = t.rows(i)
    If r.Isnull("品名")  Or  r.Isnull("型号规格")  Or  r.Isnull("计量单位") Or  r.Isnull("订货数量") = True Then
        If  MessageBox.show("规定的字段有空值,是否删除空值行后保存!","提示",MessageBoxButtons.YesNo) = DialogResult.Yes
           
            r.delete
        End If
    End If
   
Next

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 15:50:00 [显示全部帖子]

你需要一次性删除还是一行一行删除?

 

Dim t As Table = e.form.controls("订货明细表").Table
If t.rows.count = 0 Then
    msgbox("表格为空")
    Return
End If
For i As Integer = t.rows.count-1 To 0 Step -1
    Dim r As Row = t.rows(i)
    If r.Isnull("品名")  Or  r.Isnull("型号规格")  Or  r.Isnull("计量单位") Or  r.Isnull("订货数量") = True Then '有空行
        If  MessageBox.show("有空值,不保存!是否删除空值行?","提示",MessageBoxButtons.YesNo) = DialogResult.Yes  '是否删除'
            r.delete '删除'
        Else
            Return '不删,退出'
        End If
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 16:31:00 [显示全部帖子]

8楼的是一行一行删除。每删除一行弹出一个提示。

 

如果要整体删除,参考

 

Dim t As Table = e.form.controls("订货明细表").Table
If t.rows.count = 0 Then
    msgbox("表格为空")
    Return
End If
For i As Integer = t.rows.count-1 To 0 Step -1
    Dim r As Row = t.rows(i)
    If r.Isnull("品名")  Or  r.Isnull("型号规格")  Or  r.Isnull("计量单位") Or  r.Isnull("订货数量") = True Then '有空行
        If  MessageBox.show("有空值,不保存!是否删除空值行?","提示",MessageBoxButtons.YesNo) = DialogResult.Yes  '是否删除'
            Exit For
        Else
            Return '不删,退出'
        End If
    End If
Next
For i As Integer = t.rows.count-1 To 0 Step -1
    Dim r As Row = t.rows(i)
    If r.Isnull("品名")  Or  r.Isnull("型号规格")  Or  r.Isnull("计量单位") Or  r.Isnull("订货数量") = True Then '有空行
        r.delete
    End If
Next

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 17:09:00 [显示全部帖子]

这个是一行一行保存

 

dr.save

 

这个是整体保存

 

DataTables("订货主表").save


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 17:16:00 [显示全部帖子]

以下是引用xh2207在2017/9/13 17:13:00的发言:
保存的语句具体放在啥位置更合适?

 

就是放在后面,不就行了?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/13 17:41:00 [显示全部帖子]

以下是引用xh2207在2017/9/13 17:32:00的发言:
若放在后面,变成不删除空行也可以保存喔。

 

不会,选择不删除之后,就return了,不会保存、不会执行下面的代码。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/15 10:39:00 [显示全部帖子]

修改代码

 

For Each dr As Row In Tables("工程需求_订货明细表").Rows  '删除后保存
    dr.locked = True
    dr.save
Next


 回到顶部