Foxtable(狐表)用户栏目专家坐堂 → 求助


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

主题:求助

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/4/5 15:35:00 [显示全部帖子]

Dim s As String = "不评定|六|五|四|三|二|一"
Select Case e.DataCol.Name
    Case "分"
        If e.DataRow.Isnull("分") = False
            If e.NewValue > -1 And e.NewValue < 7
                Dim n As Integer = e.NewValue
                e.DataRow("评定等级") = s.split("|")(n)
                e.DataRow("思想") = 55
                e.DataRow("政治") = 45 +n
                Dim drs As List(Of DataRow) = DataTables("表A").Select("分=" & e.NewValue & " and _SortKey < " & e.DataRow("_SortKey"))
                If drs.Count > 0
                    Dim lc As String = drs(drs.Count-1)("备注")
                    If lc = "哈哈"
                        e.DataRow("备注") = "啦啦"
                    Else If lc = "啦啦"
                        e.DataRow("备注") = "呵呵"
                    Else If lc = "呵呵"
                        e.DataRow("备注") = "莉莉"
                    Else If lc = "莉莉"
                        e.DataRow("备注") = "洗洗"
                    Else If lc = "洗洗"
                        e.DataRow("备注") = "哈哈"
                    Else
                        e.DataRow("备注") = "洗洗"
                    End If
                Else
                    e.DataRow("备注") = "洗洗"
                End If
            End If
        Else
            e.DataRow("备注") = Nothing
        End If
End Select

 

1、不要擅自否认别人对您的努力;

2、提问要把问题阐述清楚,不要帖子满天飞;

3、对不容易解决的问题要即时给出示例文件

4、针对您目前的状况,先改掉粗心大意的毛病,踏踏实实看帮助,不要浮躁,否则对不住您手里的开发版。

[此贴子已经被作者于2013-4-5 15:41:04编辑过]

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/4/5 15:37:00 [显示全部帖子]

至于前面的代码如何简化,还要您对其他等级的集合一一说清楚才可以简化,简化需要您说清楚各个集合的个数,没有搞不定的!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/4/5 15:38:00 [显示全部帖子]

大家都有各自的事,不可能在论坛一直等着您,您应该理解才是。

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/4/5 15:43:00 [显示全部帖子]

我不是说了吗,您分别把所有等级的集合长度告诉我,也就是每个集合里面有多少个独立的字符串,否则,给您了您还要在论坛到处喊!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/4/5 16:24:00 [显示全部帖子]

早把已知条件告诉我,至于让您着急这么长时间吗?代码远比原来的简洁:

 

Select Case e.DataCol.Name
    Case "分"
        Dim s As String = "不评定|六|五|四|三|二|一"
        Dim 六分 As String = "A,B,C,D,E,F,G,H"
        Dim 五分 As String = "AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL"
        Dim 四分 As String = "BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO"
        Dim 三分 As String = "CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM"
        Dim 二分 As String = "DA,DB,DC,DD,DE"
        Dim 一分 As String = "EA,EB,EC,ED,EE,EF"
        If e.DataRow.Isnull("分") = False
            If e.NewValue > -1 And e.NewValue < 7
                Dim n As Integer = e.NewValue
                e.DataRow("评定等级") = s.split("|")(n)
                e.DataRow("思想") = 55
                e.DataRow("政治") = 45 +n
                If e.NewValue = 1
                    s = 一分
                Else If e.NewValue = 2
                    s = 二分
                Else If e.NewValue = 3
                    s = 三分
                Else If e.NewValue = 4
                    s = 四分
                Else If e.NewValue = 5
                    s = 五分
                Else If e.NewValue = 6
                    s = 六分
                End If
                Dim drs As List(Of DataRow) = DataTables("表A").Select("分=" & e.NewValue & " and _SortKey < " & e.DataRow("_SortKey"))
                n = drs.Count Mod (len(s) - len(s.Replace(",",""))+1)
                e.DataRow("备注") = s.split(",")(n)
            Else
                e.DataRow("备注") = Nothing
                e.DataRow("评定等级") = Nothing
                e.DataRow("思想") = Nothing
                e.DataRow("政治") = Nothing
            End If
        Else
            e.DataRow("备注") = Nothing
            e.DataRow("评定等级") = Nothing
            e.DataRow("思想") = Nothing
            e.DataRow("政治") = Nothing
        End If
End Select


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/4/5 16:36:00 [显示全部帖子]

您比我还没耐心,不到四点半就跑了,还频繁发帖,晕!

 回到顶部