以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] 关联控件数据刷新时机问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47921) |
||||
-- 作者:bahamute -- 发布时间:2014/3/19 15:49:00 -- [求助] 关联控件数据刷新时机问题 已经从表属性设置好代码,选择岗位层级后,岗位工资会显示相应数值。 从窗口操作时,发现选择岗位层级后,必须点击其他控件控件一下,岗位工资控件才会更新数值, 如图 想请教才能做到只要岗位层级数值一发生改变,岗位工资控件能立即更新?
|
||||
-- 作者:Bin -- 发布时间:2014/3/19 15:54:00 -- 因为你要离开焦点,才会触发DataColChanged事件哦. 你可以考虑把代码搬到ChangeEdit 事件
|
||||
-- 作者:bahamute -- 发布时间:2014/3/19 16:12:00 -- 把代码搬到ChangeEdit 事件后,点确定会提示错误: 编译错误:“DataCol”不是“ChangeEditEventArgs”的成员。 错误代码:If e.DataCol.Name = "岗位层级" Then
我的代码如下: If e.DataCol.Name = "岗位层级" Then If e.DataRow.IsNull("岗位层级") Then e.DataRow("岗位工资") = Nothing Else Select Case e.DataRow("岗位层级") Case
"A1" e.DataRow("岗位工资")=5000 Case
"A2" e.DataRow("岗位工资")=4050 Case
"A3" e.DataRow("岗位工资")=3650 Case
"B1" e.DataRow("岗位工资")=3260 End Select End If End If 该如何修改? |
||||
-- 作者:Bin -- 发布时间:2014/3/19 16:14:00 -- DATAROW 改为 row datacol 改为 col |
||||
-- 作者:bahamute -- 发布时间:2014/3/19 16:29:00 -- 代码已经修改好了,但是不起作用!改后代码如下,例子附后。 If e.Col.Name = "岗位层级" Then If e.Row.IsNull("岗位层级") Then e.Row("岗位工资") = Nothing Else Select Case e.Row("岗位层级") Case "A1" e.Row("岗位工资")=5000 Case "A2" e.Row("岗位工资")=4050 Case "A3" e.Row("岗位工资")=3650 Case "B1" e.Row("岗位工资")=3260 End Select End If End If |
||||
-- 作者:bahamute -- 发布时间:2014/3/19 16:33:00 -- sorry,这是例子代码。 If e.Col.Name = "第二列" Then If e.Row.IsNull("第二列") Then e.Row("第三列") = Nothing Else Select Case e.Row("第三列") Case "A1" e.Row("第三列")=5000 Case "A2" e.Row("第三列")=4050 Case "A3" e.Row("第三列")=3650 Case "B1" e.Row("第三列")=3260 End Select End If End If
|
||||
-- 作者:bahamute -- 发布时间:2014/3/19 16:43:00 -- .. [此贴子已经被作者于2014-3-19 16:43:44编辑过]
|
||||
-- 作者:Bin -- 发布时间:2014/3/19 16:45:00 -- .
|
||||
-- 作者:bahamute -- 发布时间:2014/3/19 16:50:00 -- 问题解决,非常感谢。 |
||||
-- 作者:bahamute -- 发布时间:2014/3/19 17:32:00 -- 追问一下bin兄: 如果把示例中的岗位层级控件换成下拉控件,又该怎么办呢,我另一个窗口就存在这个问题: 我把刚才示例改了一下,请指教: |