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


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

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

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


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

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


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

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

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/19 15:54:00 [只看该作者]

因为你要离开焦点,才会触发DataColChanged事件哦.

你可以考虑把代码搬到ChangeEdit 事件

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


该如何修改?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/19 16:14:00 [只看该作者]

DATAROW 改为 row  datacol 改为 col

 回到顶部
帅哥哟,离线,有人找我吗?
bahamute
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | 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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/19 16:45:00 [只看该作者]

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


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


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

问题解决,非常感谢。

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


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

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

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



 回到顶部
总数 13 1 2 下一页