以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 行状态和button逻辑  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=94423)

--  作者:xh2207
--  发布时间:2016/12/23 9:53:00
--  [求助] 行状态和button逻辑
 

这样的逻辑如何解决:


工程需求窗口有“主表新增”、“保存“、“修改”、“删除”、“关闭”BUTTON按钮

1、按“主表新增”后,在主表新增的行编辑,未保存前,“主表新增”“修改“、“删除”灰色,仅“保存”亮色,另在主表不能再选择其他行。

2、编辑完主表和明细表后,按“保存”,对刚编辑的行进行保存,保存后“保存”灰色,“主表新增”、“修改”、“删除”亮色,未保存前主表不能再选择其他行

3、当选择要修改的一行按“修改”,未保存前,“新增”、“修改”、“删除”灰色,未保存前主表不能再选择其他行


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1_201612230950.zip


--  作者:有点蓝
--  发布时间:2016/12/23 10:41:00
--  
1、新增按钮事件把其它按钮设置Enabled = False:http://www.foxtable.com/webhelp/scr/0714.htm
同理保存按钮把其它按钮设置Enabled = true

2、未保存前主表不能再选择其他行,参考:http://www.foxtable.com/webhelp/scr/0644.htm

--  作者:xh2207
--  发布时间:2016/12/23 16:01:00
--  

可能我上面没表达完整,主要还是如何判断当前行的状态是否处于新增、修改、保存三状态中的一种。

如:

1、当前行处于新增状态,还未保存。新增和修改按钮灰色,保存后新增、修改、删除亮色。

2、当前行处于修改状态,还未保存。新增、修改、删除灰色,保存亮色。保存后:新增、修改、删除亮色,保存灰色(因已保存)

 

7.146 RowState

3.19.4 传统编辑方式

有做行的状态说明和 ,但例子和要求的不一样

按钮之间的逻辑有做:

If Tables("工程需求_订货主表").Current.DataRow.RowState <> DataRowState.added Then \'如果当前行已经修改过
    Dim xg As WinForm.Button =Forms("工程需求").Controls("修改")
    xg.Enabled =False
    Dim bc As WinForm.Button =Forms("工程需求").Controls("保存")\'无锁时保存起作用
    bc.Enabled =True
Dim xz As WinForm.Button =Forms("工程需求").Controls("主表新增")
    xz.Enabled =False
Else
Dim xz As WinForm.Button =Forms("工程需求").Controls("主表新增")
    xz.Enabled =True
End If

 


--  作者:有点蓝
--  发布时间:2016/12/23 16:15:00
--  
http://www.foxtable.com/webhelp/scr/0428.htm