以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论] 如何使窗口中的Table退出时验证  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60625)

--  作者:blsu33
--  发布时间:2014/11/27 22:07:00
--  [讨论] 如何使窗口中的Table退出时验证
老师,
     窗口中的Table,新增加一行后,让后点击了目录树或窗口外其他位置,导致未录完的空行,怎么写代码,防止这种情况发生呢。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:部门档案.foxdb






--  作者:有点甜
--  发布时间:2014/11/27 22:12:00
--  

 点击退出的时候,判断空行,或者删除空行

 

DataTables("订单").DeleteFor("第一列 is null and 第二列 is null")

--  作者:blsu33
--  发布时间:2014/11/27 22:20:00
--  
老师,
   不是这个意思,现在主要问题是,增加行时,点击左侧的目录树,或是“共有”窗口的目录树,直接导致这个表出现空行;

--  作者:有点甜
--  发布时间:2014/11/27 22:21:00
--  
 不就是说新增了行没输入值么?删除就行啊
--  作者:blsu33
--  发布时间:2014/11/27 22:25:00
--  
您的意思是,判断有空行存在,命令删除空行。
--  作者:有点甜
--  发布时间:2014/11/27 22:27:00
--  

  就是,可以在任意事件执行此代码,比如 afterload 事件

 

DataTables("订单").DeleteFor("第一列 is null and 第二列 is null")

--  作者:blsu33
--  发布时间:2014/11/27 22:34:00
--  
不用这种方法,如何做到,提示,然后根据提示“如果是”,当前行删除在退出呢?

换种说法

窗口中绑定的是“文本框”,我可以用下面的命令做到提示:
If e.Sender.Value Is Nothing Then
    If MessageBox.Show("部门编码不能为空!,是否退出?","提示",MessageBoxButtons.YesNo)=DialogResult.No
        e.Cancel = True
    Else
        With Tables("部门档案")
            Tables("部门档案").Position=.Position
            .Current.Delete
        End With
    End If
End If
窗口绑定的是Table
怎么能实现呢

--  作者:有点甜
--  发布时间:2014/11/27 22:40:00
--  
 If DataTables("表B").Find("第一列 is null and 第二列 is null") IsNot Nothing Then
    If MessageBox.Show("不能为空!,是否退出?","提示",MessageBoxButtons.YesNo)=DialogResult.No
       
    Else
        DataTables("表B").DeleteFor("第一列 is null and 第二列 is null")
    End If
End If

--  作者:blsu33
--  发布时间:2014/11/27 23:19:00
--  
有点甜老师,
1、为什么,单元格只有进入编进状态上面的代码才会实现,能否实现不进入编辑状态也可;
2、为什么,进入单元格编辑后,点击共有导航窗口,会弹出要的提示,但是点击”否“,却退不出来。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:部门档案.foxdb


[此贴子已经被作者于2014-11-27 23:19:56编辑过]

--  作者:有点甜
--  发布时间:2014/11/28 9:02:00
--  

  你代码写在什么地方,就在什么地方触发啊。

 

 一般你这种,写在afterClose事件就行了啊