Foxtable(狐表)用户栏目专家坐堂 → RelationTable控件哪去了


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

主题:RelationTable控件哪去了

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/3/22 22:27:00 [只看该作者]

以下是引用czy在2009-3-22 9:35:00的发言:
应该算恐怖吧,下面这样看起来就好多了。

e.Form.Controls("RelationTable1").Visible = True
Dim s1 As String =e.Form.Controls("TextBox1").Value
Dim s2 As String s2 = s1.SubString(0,4)
If s2 = "6001" Then
    e.Form.Controls("RelationTable2").Visible = True
    e.Form.Controls("RelationTable14").Visible = True
    e.Form.Controls("RelationTable20").Visible = True
    e.Form.Controls("RelationTable23").Visible = True
    e.Form.Controls("RelationTable26").Visible = True
ElseIf s2 = "6002" Then
    e.Form.Controls("RelationTable3").Visible = True
    e.Form.Controls("RelationTable15").Visible = True
    e.Form.Controls("RelationTable22").Visible = True
    e.Form.Controls("RelationTable24").Visible = True
    e.Form.Controls("RelationTable27").Visible = True
ElseIf s2 = "6003" OrElse s2 = "6004" Then
    e.Form.Controls("RelationTable3").Visible = True
    e.Form.Controls("RelationTable15").Visible = True
    e.Form.Controls("RelationTable22").Visible = True
    e.Form.Controls("RelationTable24").Visible = True
    e.Form.Controls("RelationTable27").Visible = True
    e.Form.Controls("RelationTable21").Visible = True
ElseIf s2 = "6005" OrElse s2 = "6006" Then
    e.Form.Controls("RelationTable4").Visible = True
    e.Form.Controls("RelationTable9").Visible = True
    e.Form.Controls("RelationTable28").Visible = True
    e.Form.Controls("RelationTable24").Visible = True
    e.Form.Controls("RelationTable27").Visible = True
ElseIf s2 = "6007" OrElse s2 = "6008" OrElse s2 = "6009" OrElse s2 = "6010" OrElse s2 = "6011" OrElse s2 = "6012" OrElse s2 = "6017" Then
    e.Form.Controls("RelationTable5").Visible = True
    e.Form.Controls("RelationTable11").Visible = True
    e.Form.Controls("RelationTable17").Visible = True
    e.Form.Controls("RelationTable8").Visible = True
    e.Form.Controls("RelationTable25").Visible = True
ElseIf s2 = "6013" OrElse s2 = "6014" OrElse s2 = "6015" OrElse s2 = "6016" OrElse s2 = "6018" OrElse s2 = "6019" OrElse s2 = "6020"  Then
    e.Form.Controls("RelationTable5").Visible = True
    e.Form.Controls("RelationTable11").Visible = True
    e.Form.Controls("RelationTable19").Visible = True
    e.Form.Controls("RelationTable8").Visible = True
    e.Form.Controls("RelationTable25").Visible = True
ElseIf s2 = "6100" OrElse s2 = "6101" OrElse s2 = "6102" OrElse s2 = "6103" OrElse s2 = "6104" OrElse s2 = "6105" OrElse s2 = "6106" OrElse s2 = "6107" Then
    e.Form.Controls("RelationTable6").Visible = True
    e.Form.Controls("RelationTable12").Visible = True
    e.Form.Controls("RelationTable29").Visible = True
    e.Form.Controls("RelationTable31").Visible = True
    e.Form.Controls("RelationTable33").Visible = True
ElseIf s2 = "6121" OrElse s2 = "6022" OrElse s2 = "6023" OrElse s2 = "6024" OrElse s2 = "6025" OrElse s2 = "6026" OrElse s2 = "6027" OrElse s2 = "6028" Then
    e.Form.Controls("RelationTable7").Visible = True
    e.Form.Controls("RelationTable13").Visible = True
    e.Form.Controls("RelationTable30").Visible = True
    e.Form.Controls("RelationTable32").Visible = True
    e.Form.Controls("RelationTable34").Visible = True
End If

 
還是恐怖,改為這樣應該可以的,沒測試:

 

Dim s,T,Tz() As String
e.Form.Controls("RelationTable1").Visible = True
s = e.Form.Controls("TextBox1").Value


Select Case Val(s.SubString(0,4))
    Case 6001
        T = "2,14,20,23,26"
    Case 6002
        T = "3,15,22,24,27"
    Case 6003,6004
        T = "3,15,21,22,24,27"
    Case 6005,6006
        T = "4,9,24,27,28"
    Case 6007 to 6012,6017
        T = "5,8,11,17,28"
    Case 6013 to 6016,6018 to 6020
        T = "5,8,11,19,25"
    Case 6100 to 6107
        T = "6,12,29,31,33"
    Case 6121,6022 to 6028
        T = "7,13,30,32,34"
End Select


Tz = T.split(",")
if Tz.length > 1 then
    for  n As Integer = 0 to Tz.length-1
        e.Form.Controls("RelationTable" & Tz(n)).Visible = True
    Next
end if

[此贴子已经被作者于2009-3-23 15:22:41编辑过]

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


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2009/3/23 7:14:00 [只看该作者]

大师的代码精简!

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


加好友 发短信
等级:一尾狐 帖子:492 积分:4243 威望:0 精华:0 注册:2008/9/1 20:47:00
  发帖心情 Post By:2009/3/23 20:17:00 [只看该作者]

非常感谢21楼 don 精简了代码。

 回到顶部
总数 23 上一页 1 2 3