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


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

主题:求助

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


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

Dim s As String = "不评定|六|五|四|三|二|一
Select Case e.DataCol.Name
    Case "分"
        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
          '  e.DataRow("备注") =   这里的结果需要您提供其他字段,请将表结构截图发上来
        End If
End Select

本段代码等同于您原来的代码,但效率远比原来的高,无需要判断!

[此贴子已经被作者于2013-4-4 14:32:00编辑过]

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


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

Dim s As String = "不评定|六|五|四|三|二|一
Select Case e.DataCol.Name
    Case "分"
        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) = e.DataTable.Select("分 = " & e.NewValue,"_SortKey",-2)
            If drs.Count > 1
                Dim lc As String = drs(drs.Count-2)("备注")
                If lc = "做袖子"
                    e.DataRow("备注") = "做口袋"
                Else If lc = "做口袋"
                    e.DataRow("备注") = "行棉"
                Else
                    dr("备注") = "做袖子"
                End If
            End If
        Else
            dr("备注") = "做袖子"
        End If
    End If
End Select

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


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

这种问题您应该看出来才对,刚刚我为了用find,定义了dr,后来改select方法,去掉了dr的定义,后面个别引用忘记改过来,属于笔误:

 

Dim s As String = "不评定|六|五|四|三|二|一
Select Case e.DataCol.Name
    Case "分"
        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) = e.DataTable.Select("分 = " & e.NewValue,"_SortKey",-2)
            If drs.Count > 1
                Dim lc As String = drs(drs.Count-2)("备注")
                If lc = "做袖子"
                    e.DataRow("备注") = "做口袋"
                Else If lc = "做口袋"
                    e.DataRow("备注") = "行棉"
                Else
                    e.DataRow("备注") = "做袖子"
                End If
            End If
        Else
            e.DataRow("备注") = "做袖子"
        End If
    End If
End Select

 


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


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

把e.DataTable换成您的表名称看看!


 回到顶部