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


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

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

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
[求助]判断空行后删除  发帖心情 Post By:2017/9/11 15:19:00 [显示全部帖子]

请指教:目的是将当前表中有空格的行删除,求的代码。因为Deletefor是datatable,而delete是窗口_table,但无法增加条件判断。

 


图片点击可在新窗口打开查看此主题相关图片如下:删除.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/12 10:14:00 [显示全部帖子]

 版主,想增加一个条件判断窗口表规定的字段空值是否存在空值,提示后确认是删除,否则不删除。不懂,请指教怎定义r(怎完善代码)。非常感谢!

 

dim r as .....

If r.Isnull("品名")  Or  r.Isnull("型号规格")  Or  r.Isnull("计量单位") Or  r.Isnull("订货数量") = True Then
    If  MessageBox.show("规定的字段有空值,是否删除空值行后保存!","提示",MessageBoxButtons.YesNo) = DialogResult.Yes

            Dim t As Table = e.form.controls("订货明细表").Table
            t.DataTable.DeleteFor("品名 Is null  or 型号规格 Is null   or   计量单位 is null   or  订货数量  is null " )

   else

      return

   end if

end if


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/12 11:14:00 [显示全部帖子]

这样只能删除当前行,假如表的行数有很多行,而空值行又不在第一行,每次afterload后当前行要么在第一行,要么在未行。若只能删除当前行,不符常规。

 

考虑过在代码前增加

FOR EACH.....

 

 

NEXT

 

但发觉空行在第一行是正常,在其他行是无法判断。

[此贴子已经被作者于2017/9/12 11:16:41编辑过]

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/13 15:41:00 [显示全部帖子]

请指教,如何完善窗口保存按键代码。想达到如下功能:

1、Tables("工程需求_订货明细表")的行数为零和行规定的字段有空值,不允许保存。

2、若有Tables("工程需求_订货明细表")行规定的字段有空值,删除后才能保存。

是否只能将判断代码放在表的beforesavedatarow或其他位置,请指教思路或完善代码,非常感谢!

 

 

If Tables("工程需求_订货明细表").Rows.Count =0 Then
    If MessageBox.Show("无明细,不保存!","请确认",MessageBoxButtons.YesNo,messageboxicon.question) = DialogResult.Yes Then
        Tables("订货主表").Current.Delete
        Tables("订货主表").Position =Tables("订货主表").Rows.Count - 1
        e.Form.Controls("datetimepicker1").text = Tables("订货主表").Current("订货日期")
        e.Form.Controls("TextBox1").text = Tables("订货主表").Current("订单号")
        e.Form.Controls("ComboBox1").text = Tables("订货主表").Current("订货人")
        e.Form.Controls("ComboBox2").text = Tables("订货主表").Current("工程类别")
        e.Form.Controls("DropBox1").text =Tables("订货主表").Current("工程名称")
        e.Form.Controls("DropBox2") .text= Tables("订货主表").Current("工程编号")
    End If
Else '工程需求_订货明细表有行
    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 '删除'
            Else
                Return '不删,退出'
            End If
        Else
            Return '无空行
        End If
    Next
    For Each dr As Row In Tables("工程需求_订货明细表").Rows  '删除后保存
        dr.save
        dr.locked = True
    Next
    DataTables("订货明细表").AllowEdit =False
    DataTables("订货主表").save
    Tables("订货主表").Current.locked = True
    DataTables("订货主表").AllowEdit =False
End If


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/13 16:10:00 [显示全部帖子]

现是一次性删除空行,一次一行呢,怎修改?

一次性删除空行后一次性保存保存功能代码?


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/13 17:06:00 [显示全部帖子]

保存的代码是否也分为整体保存和一行一行保存两种?

 

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


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/13 17:13:00 [显示全部帖子]

保存的语句具体放在啥位置更合适?

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/13 17:32:00 [显示全部帖子]

若放在后面,变成不删除空行也可以保存喔。

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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/15 10:14:00 [显示全部帖子]

请指教:

每次新增行或修改行后按保存健,行状态都如下变化:(第一次和第二次均不一样)

 

 

               第一次按保存     第二次按保存

新增行   →已修改行(锁定)→普通行(锁定)

已修改行→已修改行(锁定)→普通行(锁定)

 

请问:已修改行(锁定)和普通行(锁定)有啥区别,有法子只按一次保存建跨过已修改行直接到普通锁定行。

 

我调整过表样式的颜色
 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:订1_201709150959.zip


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


加好友 发短信
等级:幼狐 帖子:190 积分:1593 威望:0 精华:0 注册:2013/1/6 19:46:00
  发帖心情 Post By:2017/9/15 11:14:00 [显示全部帖子]

真是细节确定成败,感谢有点甜!


 回到顶部
总数 11 1 2 下一页