-- 作者:冰锋
-- 发布时间:2016/4/20 17:02:00
-- 不保存退出窗口问题
Dim dt As DataTable=Tables("kpinfo").DataTable Dim dt1 As DataTable=Tables("ldinfo").DataTable If dt.haschanges And dt1.haschanges Then If MessageBox.Show("是否保存当前单据?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information)=7 Then \'如果按否则删掉本行数据 For Each dr As DataRow In dt.DataRows For Each dr1 As DataRow In dt1.DataRows If dr1.RowState=DataRowstate.added And dr.RowState=DataRowstate.added Then dr.delete dr1.delete End If Next Next Else \'否则退回编辑界面 MessageBox.Show("请点击保存按钮保存","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If End If
e.Form.close Forms("windows").open
上述代码,为什么实现不了当提示是否保存,选择否时,删除“kpinfo”和“ldinfo”新增行,只会删除“ldinfo”表中的新增行。
敬请各位大师帮我看一下!谢谢了
|
-- 作者:大红袍
-- 发布时间:2016/4/20 17:15:00
--
Dim dt As DataTable=Tables("kpinfo").DataTable Dim dt1 As DataTable=Tables("ldinfo").DataTable If dt.haschanges And dt1.haschanges Then If MessageBox.Show("是否保存当前单据?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Information)=7 Then \'如果按否则删掉本行数据 For i As Integer = dt.datarows.count - 1 To 0 Step -1 If dt.datarows(i).RowState=DataRowstate.added Then dt.datarows(i).delete End If Next For i As Integer = dt1.datarows.count - 1 To 0 Step -1 If dt1.datarows(i).RowState=DataRowstate.added Then dt1.datarows(i).delete End If Next Else \'否则退回编辑界面 MessageBox.Show("请点击保存按钮保存","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) Return End If End If
e.Form.close Forms("windows").open
|