Foxtable(狐表)用户栏目专家坐堂 → [求助]如何检测一个表是否有行删除了?


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

主题:[求助]如何检测一个表是否有行删除了?

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


加好友 发短信
等级:小狐 帖子:360 积分:3168 威望:0 精华:1 注册:2011/4/20 1:40:00
[求助]如何检测一个表是否有行删除了?  发帖心情 Post By:2012/6/18 0:10:00 [只看该作者]

有一个窗体中有一按钮,名称为“退出窗口”

想实现当没有数据修改时,直接退出。

当有数据修改时(包括新增行、删除行、修改行三种状态)时给出提问是否对数据进行保存。点击是进行保存,否撤消对表的修改并退出窗口。

按钮代码如下:

'''
For Each dr As DataRow In CurrentTable.DataTable.DataRows
    If dr.RowState <> DataRowState.Unchanged Then '如果不是未曾修改的行,执行保存提示
        Dim Result As DialogResult
        Result = MessageBox.Show("您尚有数据未曾保存。是否进行保存操作后再退出!","保存提示!",MessageBoxButtons.YesNo,MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            CurrentTable.DataTable.Save() '保存数据
            MessageBox.Show("保存数据成功!","操作提示!",MessageBoxButtons.OK,MessageBoxIcon.Information)
            e.Form.Close() '退出窗口
        Else
            CurrentTable.DataTable.RejectChanges() '撤消修改
            e.Form.Close() '退出窗口
        End If
    Else
        e.Form.Close() '没有存在未修改或新增的行时直接退出窗口
    End If
Next

 

现在没有改过数据时可以实现需求;

修改数据、新增行时也可以实现需求。

但是当删除了行时并不会给出提示,而是直接退出了窗口,相当于没有数据修改。

请问如何修改?谢谢。

 

 


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

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/18 10:59:00 [只看该作者]

看看这个属性:

 

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

 


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


加好友 发短信
等级:小狐 帖子:360 积分:3168 威望:0 精华:1 注册:2011/4/20 1:40:00
  发帖心情 Post By:2012/6/18 15:21:00 [只看该作者]

谢谢,可以实现。

但是还是没有搞明白为什么原来的写法无法检测到删除的行?

不是有这样的属性吗?


 回到顶部