以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 问个条件问题 (http://foxtable.net/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 |