Foxtable(狐表)用户栏目专家坐堂 → [求助] 关联控件数据刷新时机问题


  共有4321人关注过本帖树形打印复制链接

主题:[求助] 关联控件数据刷新时机问题

帅哥哟,离线,有人找我吗?
bahamute
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
[求助] 关联控件数据刷新时机问题  发帖心情 Post By:2014/3/19 15:49:00 [显示全部帖子]

已经从表属性设置好代码,选择岗位层级后,岗位工资会显示相应数值。
从窗口操作时,发现选择岗位层级后,必须点击其他控件控件一下,岗位工资控件才会更新数值,
如图


图片点击可在新窗口打开查看此主题相关图片如下:002.gif
图片点击可在新窗口打开查看

想请教才能做到只要岗位层级数值一发生改变,岗位工资控件能立即更新?

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By: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


该如何修改?


 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By: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

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



 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/3/19 16:43:00 [显示全部帖子]

..
[此贴子已经被作者于2014-3-19 16:43:44编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/3/19 16:50:00 [显示全部帖子]

问题解决,非常感谢。

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/3/19 17:32:00 [显示全部帖子]

追问一下bin兄:
如果把示例中的岗位层级控件换成下拉控件,又该怎么办呢,我另一个窗口就存在这个问题:
我把刚才示例改了一下,请指教:

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



 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1425 积分:11332 威望:0 精华:0 注册:2008/9/1 22:20:00
  发帖心情 Post By:2014/3/19 20:03:00 [显示全部帖子]

谢谢楼上两位高手指点,刚刚测试了一下,完全正常了。

 回到顶部