以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗口表状态问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60061)

--  作者:xxk02
--  发布时间:2014/11/17 17:02:00
--  [求助]窗口表状态问题
    将窗口中的控件table1与内部表DATATABLE进行绑定,利用窗口对DATATABLE进行修改,保存时:
     1.如果修改后的列的值没有变化,则返回窗口继续进行修改
     2.如果修改后的列的值变化,保存后提示修改成功。
     窗口保存按钮代码如下:
     Dim dr As DataRow

    修改列代码(略)

    dr.save()

     If  dr.RowState = DataRowState.Unchanged Then

            MessageBox.Show("任务数据项没有变化,请返回继续修改!","提示")

            tex1.Select()

            Return

       ElseIf dr.RowState = DataRowState.Modified Then

            MessageBox.Show("恭喜,任务修改成功!","提示"           

End If

            e.Form.Close()

       End If


     问题:我修改列值,保存提示“任务数据项没有变化,请返回继续修改”,请问错在哪里?


--  作者:有点甜
--  发布时间:2014/11/17 17:07:00
--  

这句代码放在判断里面,因为你保存以后,再判断的

 

dr.save()

 

 


--  作者:xxk02
--  发布时间:2014/11/17 17:10:00
--  
    不太明白,怎么放到判断里?不是先保存,再判断吗?
--  作者:有点甜
--  发布时间:2014/11/17 17:22:00
--  
先判断再保存啊
--  作者:xxk02
--  发布时间:2014/11/17 17:35:00
--  
  我是将代码写在窗口控件按钮里,无法先判断再保存,是不是应写在表时间里?
--  作者:有点甜
--  发布时间:2014/11/17 17:36:00
--  

Dim dr As DataRow
修改列代码(略)

 

If  dr.RowState = DataRowState.Unchanged Then
   
    MessageBox.Show("任务数据项没有变化,请返回继续修改!","提示")
   
    tex1.Select()
   
    Return
   
ElseIf dr.RowState = DataRowState.Modified Then
    dr.save()
    MessageBox.Show("恭喜,任务修改成功!","提示"
   
End If

e.Form.Close()


--  作者:xxk02
--  发布时间:2014/11/17 17:41:00
--  
    谢谢!