Foxtable(狐表)用户栏目专家坐堂 → 窗口关闭按钮


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

主题:窗口关闭按钮

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


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


Dim nms() As String = {"维保日期","维保内容","维保人"}   '不允许为空的列名
Dim dt As DataTable=Tables("新增安全设施维保记录_table1").DataTable
If dt.HasChanges Then
    If MessageBox.Show("当前表已修改,是否保存?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information)=DialogResult.Yes Then '如果按否,则删掉本行数据
        For Each dr As DataRow In dt.datarows
            For Each nm As String  In nms
                If dr.isnull(nm) Then
                    messagebox.show(nm & "维保日期/维保内容/维保人三列必须输入内容,否则请先删除无内容的行")
                    Return
                End If
            Next
        next
        dt.save
       
    End If
End If

 

e.form.close

[此贴子已经被作者于2018/4/22 20:29:53编辑过]

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


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

不可能,请单独使用2楼代码。如果有问题,上传实例测试。

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


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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


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

看你的操作对应的会连锁的触发其它什么事件,注释掉那些事件代码,一步步打开处理,确定出错代码。

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


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

请上传可以测试的例子测试。说明测试步骤。


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


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

你页面2、3、4下的表格,第一列、第二列输入值以后,在点击打开第二行,就行了。没有输入值的情况下,就会有你说的问题。

 

或者修改afterLoad事件代码

 

Dim r As Row = vars("表").current
Dim t As Table = e.Form.controls("Table1").Table
Dim filter As String = "1=1"
If r("第一列") > "" Then
    filter &= " and 第一列 = '" & r("第一列") & "'"
End If
If r("第一列") > "" Then
    filter &= " and 第二列= '" & r("第二列") & "'"
End If

t.filter = filter

'所有当前表定位在最末行
For Each c As object In e.form.controls
    If typeof c Is winform.Table Then
        Dim a As Table = c.Table
        a.position = a.rows.count-1
    End If
Next


 回到顶部