Foxtable(狐表)用户栏目专家坐堂 → 问个条件问题


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

主题:问个条件问题

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
问个条件问题  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By:2014/2/15 16:30:00 [只看该作者]

  Dim dr As DataRow = DataTables("会员等级设置").Find("最低积分<= " & e.DataRow("积分") & " And 最低积分>= " & e.DataRow("积分"))
你这个其实就是 DataTables("会员等级设置").Find("最低积分= " & e.DataRow("积分"))

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/2/15 16:33:00 [只看该作者]

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

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


加好友 发短信
等级:管理员 帖子:47497 积分:251397 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/2/15 16:37:00 [只看该作者]

等级表三列,分别是:

 

等级  最低分  最高分

 

 

这样就好处理了。


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/2/15 16:39:00 [只看该作者]

Or

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/2/15 16:40:00 [只看该作者]

明白了


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/15 16:41:00 [只看该作者]

等级列        最低积分1   最低积分2
初级会员           0            69
中级会员          70            89
高级会员          90            100


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

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


加好友 发短信
等级:三尾狐 帖子:659 积分:4686 威望:0 精华:0 注册:2013/6/11 17:51:00
  发帖心情 Post By: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
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By: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
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/2/15 16:54:00 [只看该作者]

高级会员          90            10000

 回到顶部
总数 16 1 2 下一页