目前我在datawindow上有一列 profile.acct_no ,用户从弹出列表中选择一个客户帐户。现在的问题是,用户无法清除以前已选择的帐户,它始终显示所选帐户,除非您选择其他帐户。用户可以清除列框并单击已保存,但当他们返回查看时,帐户会再次显示。
现在,从数据库中,所有选定的帐户ID都注册到表格调用 interco.acct_id ,我需要做的是,将事件itemchanged代码,其中if列 profile.acct_no 为空,然后它会将表 interco.acct_id 中的帐户ID清除为0
我已经做的是编码数据窗口的非可视对象业务规则,事件 ue_itemchanged_acct_no return none :
字符串s_value
s_value = invo_tm.uf_getcolumnstring(istr_vldmsg.l_row,istr_vldmsg.s_column)
如果isnull(s_value)或trim(s_value)=''那么 invo_tm.uf_setcolumn(istr_vldmsg.l_row,is_dirulealias +'。acct_id',0)
结束
问题是,帐户仍然显示并且ID不会更改为0.任何人都可以提供帮助和建议吗?非常感激。感谢。
答案 0 :(得分:0)
我会检查几件事。
检查数据窗口的更新属性。 interco.acct_id应该是可更新的。
如果 interco 和 profile 都在同一个数据窗口中,则需要花一些精力来更新两个表。在https://pbbraindump.wordpress.com/2008/07/02/pfc-datawindow-multi-table-update-service/
此外,如果interco.acct_id或profile.acct_no在数据库中是唯一的,那么您将无法成功将多个记录更改为0。