作者 |
|
 注册 2016-11-19 发贴数 精华数 0 原创贴 来自 状态 正常
级别 会员 |
|
|
我在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; }; 请问这是我的脚本写错了吗?还是程序本身设计时就是这样的,谢谢! |
|
|
|
|
 注册 2016-11-19 发贴数 精华数 0 原创贴 来自 状态 正常
级别 会员 |
|
|
得在if-else里面加上gui_enable()函数,就好了 /擦汗 |
|
|
|
|
 注册 2016-11-19 发贴数 精华数 0 原创贴 来自 状态 正常
级别 会员 |
|
|
我现在看,这个不是if-else的问题,而是这个gui_disable,只要运行一次之后,如果不enable的话,控件就会一直处在disable的状态。 |
|
|
|
|
  注册 2020-04-30 发贴数 精华数 0 原创贴 0 来自 状态 正常
级别 会员 |
|
|
放到 func_show 試試 disable的話,要做兩個預測 if disable else enable |
|
|
|
|