以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  如何实现以下的要求啊?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130155)

--  作者:18651810926
--  发布时间:2019/1/14 19:02:00
--  如何实现以下的要求啊?
各位大神,我想想实现如下情况,数据联动不是手动输入怎么做到,代码怎么写:
拜托大神教教我图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:tim截图20190114185934.png
图片点击可在新窗口打开查看

1.讲师等级列内容显示根据以下列内容变化而变化。
授课时长、司龄、学历、职级、满意度。

满足授课时长>10,司龄>1,学历无要求、职级无要求、满意度>3.5。等级显示初级讲师
满足授课时长>20,司龄>2,学历>=大专、职级达到主管以上,满意度>4。等级显示中级讲师
满足授课时长>30,司龄>3,学历>=本科、职级达到经理以上,满意度>4.5。等级显示高级讲师



具体图表可以看附件

--  作者:y2287958
--  发布时间:2019/1/14 19:23:00
--  
上实例
--  作者:larjia
--  发布时间:2019/1/14 20:18:00
--  
这个逻辑挺复杂啊。讲师等级使用表达式列会不会简单点?
--  作者:有点蓝
--  发布时间:2019/1/14 20:47:00
--  
datacolchanged事件

Select Case e.DataCol.Name
    Case "授课时长","司龄","学历","职级","满意度"
        If e.DataRow("授课时长") > 30 AndAlso e.DataRow("司龄") > 3 AndAlso e.DataRow("满意度") > 4.5 AndAlso e.DataRow("学历") = "本科" AndAlso e.DataRow("职级") = "经理"
            e.DataRow("授课时长") = "高级讲师"
        ElseIf e.DataRow("授课时长") > 20 AndAlso e.DataRow("司龄") > 2 AndAlso e.DataRow("满意度") > 4 AndAlso (e.DataRow("学历") = "大专" OrElse e.DataRow("学历") = "本科") AndAlso (e.DataRow("职级") = "主管" OrElse e.DataRow("职级") = "经理")
            e.DataRow("授课时长") = "中级讲师"
        ElseIf ...............自己参考着做

        End If
End Select

--  作者:18651810926
--  发布时间:2019/1/15 18:30:00
--  
谢谢大神指导
--  作者:18651810926
--  发布时间:2019/1/15 21:59:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
大神你好,又有个问题要麻烦你
学员资料套用员工资料数据,可是如果姓名一样的话就会出现学员资料录入为空的情况,如何解决呢?毕竟工作中同名同姓是很正常的事情啊
代码如下,如何修改?
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


Select Case e.DataCol.name
    Case "姓名"
        Dim dr As DataRow = DataTables("学员资料").Find("姓名= \'" & e.OldValue & "\'")
        If dr Is Nothing Then
            dr = DataTables("学员资料").AddNew()
            dr("姓名") = e.DataRow("姓名")
            dr("性别") = e.DataRow("性别")
            dr("生日") = e.DataRow("生日")
            dr("年龄") = e.DataRow("年龄")
            dr("司龄") = e.DataRow("司龄")
            dr("部门") = e.DataRow("部门")
            dr("岗位") = e.DataRow("岗位")
            dr("职级") = e.DataRow("职级")
            dr("学历") = e.DataRow("学历")
            dr("电话") = e.DataRow("电话")
            dr("工作状态") = e.DataRow("工作状态")
            dr("转正日期") = e.DataRow("转正日期")
        Else
            dr("姓名") = e.DataRow("姓名")
        End If
    Case "性别","生日","年龄","司龄","部门","岗位","职级","学历","电话","工作状态","转正日期"
        Dim dr As DataRow = DataTables("学员资料").Find("姓名= \'" & e.DataRow("姓名") & "\'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select


--  作者:有点蓝
--  发布时间:2019/1/15 22:07:00
--  
增加一个身份证、工号、编号之类的列进行区别
--  作者:18651810926
--  发布时间:2019/1/16 12:27:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:02.png
图片点击可在新窗口打开查看
感谢,那个问题解决了。但是同名同姓又出现新问题。

我选择后表单中是空白,不显示具体姓名,这又是啥情况?问题如图
图片点击可在新窗口打开查看此主题相关图片如下:01.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2019/1/16 12:46:00
--  

 

我测试没问题。实例发上来测试。

 

 


--  作者:18651810926
--  发布时间:2019/1/16 12:52:00
--  
实例怎么发,是把项目压缩打包吗?