以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口中的文本框 如何实现未保存 不允许鼠标离开控件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62294)

--  作者:blsu33
--  发布时间:2014/12/29 14:48:00
--  窗口中的文本框 如何实现未保存 不允许鼠标离开控件
老师,
   文本控件如何能实现,未保存当前数据,不允许鼠标离开控件。

--  作者:有点甜
--  发布时间:2014/12/29 14:49:00
--  

  去编写Validating事件

 

http://www.foxtable.com/help/topics/0736.htm

 


--  作者:blsu33
--  发布时间:2014/12/29 14:54:00
--  
有点甜老师,
  现在是录入内容,只是没有进行保存的状态,哪一个属性是判定文本框没有进行保存呢


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20141229145548.jpg
图片点击可在新窗口打开查看


If e.Sender.**** Then
    e.Cancel = True
End
 
If

--  作者:Bin
--  发布时间:2014/12/29 14:59:00
--  
文本框绑定的列?  判断 RowState  http://www.foxtable.com/help/topics/0428.htm
--  作者:blsu33
--  发布时间:2014/12/29 15:21:00
--  
老师,
   是这样写吗

Dim dr As DataRow
dr = DataTables("部门档案").AddNew()
If dr("编码规则").RowState=DataRowState.Detached Then
    e.Cancel=True
End If

[此贴子已经被作者于2014-12-29 15:20:48编辑过]

--  作者:Bin
--  发布时间:2014/12/29 15:25:00
--  
 

If dr("编码规则").RowState <> DataRowState.Unchanged Then
 e.Cancel=True
End If

--  作者:blsu33
--  发布时间:2014/12/29 15:46:00
--  
BIN 老师,
  还是有错误,
.NET Framework 版本:2.0.50727.3053
Foxtable 版本:2014.11.11.1
错误所在事件:窗口,部门档案,TextBox1,Validating
详细错误信息:
Object reference not set to an instance of an object.

[此贴子已经被作者于2014-12-29 15:46:48编辑过]

--  作者:blsu33
--  发布时间:2014/12/29 15:49:00
--  
上传例子 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:鼠标不离开文本控件.foxdb

[此贴子已经被作者于2014-12-29 15:58:22编辑过]

--  作者:有点甜
--  发布时间:2014/12/29 16:08:00
--  
If Tables("部门档案").Current.DataRow.RowState <> 2 Then
    msgbox("请保存")
    e.cancel = True
End If

--  作者:blsu33
--  发布时间:2014/12/29 17:36:00
--  
有点甜老师,
   上述代码有效,不过代码对应一个单元格或多个(需要每个都保存);
   为了达到,当前录入不保存,我增加了一列“是否完成”
代码
应该是下列哪一个呢

For Each dr As DataRow In DataTables("部门档案").DataRows
    IIF(dr("编码规则") IsNot Nothing AndAlso dr("编码名称") IsNot Nothing ,dr("是否完成")=True,dr("是否完成")=False)
    IIF(dr("编码规则") <> "" AndAlso dr("编码名称") <> ""  ,dr("是否完成")=True,dr("是否完成")=False)
    IIF(DataTables("部门档案").IsNull("编码规则") AndAlso DataTables("部门档案").IsNull("编码名称") ,dr("是否完成")=True,dr("是否完成")=False)
Next

倒数第二行 好似不对
[此贴子已经被作者于2014-12-29 17:36:40编辑过]