Foxtable(狐表)用户栏目专家坐堂 → [求助]ComboList代码问题


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

主题:[求助]ComboList代码问题

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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
[求助]ComboList代码问题  发帖心情 Post By:2015/12/27 9:38:00 [只看该作者]

如截图,通过“手术名称”列中的值,决定“手术方式”及“术后并发症”列的combolist值。单个会写。两个就有点困难。谢谢!


图片点击可在新窗口打开查看此主题相关图片如下:360反馈意见截图162303238111767.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2015/12/27 9:39:00 [只看该作者]

单个的代码如下:

Dim r As Row= e.Row

If e.Col.name = "手术方式" OrElse e.Col.name="术后并发症" Then

    Dim t As String=r("手术名称")

    If t="唇裂修补术" Then

        Dim t1 As String=r("手术部位") & t

        If t1="双侧唇裂修补术"

            e.Col.ComboList="前唇原长法|前唇加长法|改良原长法(重医)|其它"

        Else

            e.Col.ComboList="Millard I式唇修复|Milladr II式唇修复|Millard III式唇修复|Tennison法|Moler法|华西改良法|其它"

        End If

    End If


End If


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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2015/12/27 11:59:00 [只看该作者]

在startedit中,如何指定列。如以上代码。当“手术名称”选择“唇裂修复术”后,“手术方式”的combolist不同,“手术并发症”的combolist不同。当选择“腭裂修补术”是这两列也会不同。

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/27 12:01:00 [只看该作者]

分开写

 

Dim r As Row= e.Row

If e.Col.name = "手术方式" Then
    Dim t As String=r("手术名称")
    If t="唇裂修补术" Then
        Dim t1 As String=r("手术部位") & t
        If t1="双侧唇裂修补术"
            e.Col.ComboList="前唇原长法|前唇加长法|改良原长法(重医)|其它"
        Else
            e.Col.ComboList="Millard I式唇修复|Milladr II式唇修复|Millard III式唇修复|Tennison法|Moler法|华西改良法|其它"
        End If
    End If
End If


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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2015/12/27 12:07:00 [只看该作者]

哦。我想两者的逻辑关系差不多,想合在一起。那只有分开写了。哎。

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


加好友 发短信
等级:五尾狐 帖子:1022 积分:7598 威望:0 精华:0 注册:2010/4/12 12:23:00
  发帖心情 Post By:2015/12/28 17:30:00 [只看该作者]

代码:

Dim r As Row= e.Row
If e.Col.name="手术名称" Then
    If r("疾病诊断").contains("腭咽闭合不全") Then
        e.Cancel=True
    End If
End If

If e.Col.name = "手术方式" Then
    Dim t As String= r("手术名称")
    If t Is Nothing Then
        If r("疾病诊断").contains("腭咽闭合不全") Then
            e.Col.ComboList="腭再成形术|咽后壁瓣|腭咽肌瓣|咽后嵴增高术|Furlow法|其它"
        Else
            e.Col.ComboList= Nothing
        End If
    ElseIf t="唇裂修补术"  or t=“唇裂再修补术” Then
        If r("手术部位")="双侧" Then
            e.Col.ComboList="前唇原长法|前唇加长法|改良原长法(重医)|其它"
        ElseIf r("手术部位")="左侧" or  r("手术部位")="右侧" Then
            e.Col.ComboList="Millard I式唇修复|Milladr II式唇修复|Millard III式唇修复|Tennison法|Moler法|华西改良法|其它"
        Else
            e.Col.ComboList=Nothing
        End If
    ElseIf t.Contains("腭裂修补术") Or t.contains("腭裂再修补术") Then
        e.Col.ComboList="兰式法|兰式+腭咽提肌重建术|两瓣法|两瓣法+腭帆提肌重建术|Push-back法|Push-back法+腭帆提肌重建术|Furlow法|Sommerlad法|其它"
    Else
        e.Col.ComboList=Nothing
    End If
End If

If e.Col.name="术后并发症" Then
    Dim t As String=r("手术名称")
    If t Is Nothing Then
        e.Col.ComboList=Nothing
    ElseIf t="唇裂修补术" Then
        e.Col.ComboList="出血|感染|部分裂开|全部裂开|其它"
    ElseIf t="腭裂修补术" Then
        e.Col.ComboList="出血|感染|粘膜瓣坏死|腭瘘|复裂|其它"
    Else
    End If
End If

手术名称选“唇裂修补术”时下拉框不能用。是不能使用or吗?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/12/28 18:29:00 [只看该作者]

代码没有问题,肯定是你的 手术部位 不满足条件才不会有下拉


 回到顶部