以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于窗口取消修改  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83723)

--  作者:benwong2013
--  发布时间:2016/4/15 11:49:00
--  [求助]关于窗口取消修改
在窗口中有一个table,若对表格中的内容进行多行的修改,若”退出“的时候选中需要保存的话,将对于多行的内容进行保存,若否的话,将取消对于所有修改撤销,另外的下面设置代码只能撤销当前行;
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.foxdb


If Tables("B_Sta").Rows.Count > 0 Then
    If Tables("B_Sta").Current.DataRow.RowState <> DataRowState.Unchanged Then \'如果当前行已经修改过
        If MessageBox.Show("当前数据已经修改过,是否保存当前单据?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information)=7 Then \'如果按否则删掉本行数据
            Tables("B_Sta").Current.Reject
            e.form.close
        Else \'否则退出
            MessageBox.Show("请点击保存按钮保存","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
            Tables("B_Sta").save()
            e.Form.close
        End If
    End If
End If

--  作者:大红袍
--  发布时间:2016/4/15 11:55:00
--  
If DataTables("B_Sta").HasChanges Then \'如果当前行已经修改过
    If MessageBox.Show("当前数据已经修改过,是否保存当前单据?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information)=7 Then \'如果按否则删掉本行数据
        DataTables("B_Sta").RejectChanges
        e.form.close
    Else \'否则退出
        MessageBox.Show("请点击保存按钮保存","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        DataTables("B_Sta").save()
        e.Form.close
    End If
End If