以文本方式查看主题

-  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=46019)

--  作者:blackzhu
--  发布时间:2014/2/15 16:24:00
--  问个条件问题
我有一个等级表

里面的内容是这样的

等级列        最低积分
初级会员           0
中级会员          70
高级会员          90

我的代码是这样写的:

 If e.DataCol.Name = "积分" Then
    Dim dr As DataRow = DataTables("会员等级设置").Find("最低积分<= " & e.DataRow("积分") & " And 最低积分>= " & e.DataRow("积分"))
    If dr IsNot Nothing
        e.DataRow("等级")=dr("等级名称")
    End If
End If

 但是 只会在70和 90 的时候 返回了正确的值  小于 70 和 大于 70 -90 之间的值 都不返回等级名称



--  作者:longtechwj
--  发布时间:2014/2/15 16:30:00
--  
  Dim dr As DataRow = DataTables("会员等级设置").Find("最低积分<= " & e.DataRow("积分") & " And 最低积分>= " & e.DataRow("积分"))
你这个其实就是 DataTables("会员等级设置").Find("最低积分= " & e.DataRow("积分"))

--  作者:blackzhu
--  发布时间:2014/2/15 16:33:00
--  
不可以这样的吧  万一积分计算超过了70 或者 90 怎么办?  
[此贴子已经被作者于2014-2-15 16:33:03编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/2/15 16:37:00
--  

等级表三列,分别是:

 

等级  最低分  最高分

 

 

这样就好处理了。


--  作者:lsy
--  发布时间:2014/2/15 16:39:00
--  
Or
--  作者:blackzhu
--  发布时间:2014/2/15 16:40:00
--  
明白了


--  作者:Bin
--  发布时间:2014/2/15 16:41:00
--  
等级列        最低积分1   最低积分2
初级会员           0            69
中级会员          70            89
高级会员          90            100


Find("最低积分1<= " & e.DataRow("积分") & " And 最低积分2>= " & e.DataRow("积分"))

--  作者:longtechwj
--  发布时间:2014/2/15 16:44:00
--  
If e.DataCol.Name = "积分" Then
select   CInt(e.DataRow("积分") )
case  CInt(e.DataRow("积分") )>=70 and CInt(e.DataRow("积分") )<90
e.DataRow("等级")=dr("等级名称")
case else
....
End If


--  作者:blackzhu
--  发布时间:2014/2/15 16:54:00
--  
If e.DataCol.Name = "积分" Then
    If e.DataRow.IsNull("积分") Then \'而且变动后的值是True(已勾选)
        e.DataRow("等级")=Nothing
    Else
        Dim dr As DataRow = DataTables("会员等级设置").Find("最低积分<= " & e.DataRow("积分") & " And 最高积分>=" & e.DataRow("积分"))
        If dr IsNot Nothing
            e.DataRow("等级")=dr("等级名称")
        End If
    End If
End If

  这样是可以了 但是大于101积分以后 就不显示等级了 怎么改?

--  作者:Bin
--  发布时间:2014/2/15 16:54:00
--  
高级会员          90            10000