我在func_edit_rec()函数下写了一小段代码,就是在职工的在职状态不等于"未入职"时,入职日期这个控件失效(gui_disable),但是我发现: 如果我刚登录到软件后,在员工资料里打开的第一个职工的状态就不是未入职,例如是合同期,这个职工的入职日期是不能修改的,这说明gui_disable函数生效了。但是,我再此之后,再打开另一个状态是“未入职”的职工时,入职日期这个控件仍然是不可编辑的。 此时,我退出软件后重新登录,直接打开这个状态是”未入职”的职工,这个入职日期控件,能够编辑。 也就是说,这个func_edit_rec函数,在软件运行过程中,gui_disable函数并不是每次打开编辑页面都运行的,它只运行了一次。我觉得这样不大合理啊。 int func_edit_rec() { //msg('edit rec'); string empstate string banstate empstate=gui_get_text("ComboBox_Ext_State") banstate="未入职" if (empstate != banstate){ gui_disable("ComboBox_Culture_Degree"); gui_disable("ComboBox_Ext_Culture_Level"); gui_disable("ComboBox_Ext_Employ_Type"); gui_disable("MDate_Hire_Date"); gui_disable("ComboBox_Ext_Company"); gui_disable("ComboBox_Dept"); gui_disable("ComboBox_Ext_Post_Degree"); gui_disable("ComboBox_Ext_Leave_Method"); gui_disable("ComboBox_Ext_Leave_Cause"); gui_disable("ComboBox_Ext_State"); gui_disable("Edit_Emp_Id"); } else{ msg("该员工还没有入职") }; return 1; }; 请问这是我的脚本写错了吗?还是程序本身设计时就是这样的,谢谢!
得在if-else里面加上gui_enable()函数,就好了 /擦汗
我现在看,这个不是if-else的问题,而是这个gui_disable,只要运行一次之后,如果不enable的话,控件就会一直处在disable的状态。
放到 func_show 試試 disable的話,要做兩個預測 if disable else enable
登录后方可发贴