Foxtable(狐表)用户栏目专家坐堂 → [求助]e.Datarow的问题请教


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

主题:[求助]e.Datarow的问题请教

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


加好友 发短信
等级:幼狐 帖子:176 积分:1535 威望:0 精华:0 注册:2010/8/23 14:57:00
[求助]e.Datarow的问题请教  发帖心情 Post By:2010/8/25 11:23:00 [只看该作者]

写了一段代码:

 

Dim drs AS List(of Datarow)
Dim dr AS Datarow=e.Datarow
Dim filter1,filter2 AS String
filter1="[Replacement For] like '*" & e.Datarow("电池型号") & "*'"    
filter2="[Replacement For] like '*" & e.Datarow("电池型号") & "*' and [Capacity]='" & e.Datarow("容量") & "'"


If e.Datacol.Name="电池型号" Or e.Datacol.Name="容量" Then
   drs=Datatables("BPB量产电池").SELECT(filter2)
   Dim n AS Integer=drs.count
       If n=1 Then 
         Dim dr0 AS DATAROW=drs(0)
         dr("BPBPN1")=dr0("产品名称")
         dr("BPBPN2")=Nothing
         dr("capacity2")=Nothing
         dr("BPBPN3")=Nothing
         dr("capacity3")=Nothing
       Elseif n=1
         Dim dr0 AS DATAROW=drs(0)
         Dim dr1 AS Datarow=drs(1)
         dr("BPBPN1")=dr0("产品名称")
         dr("capacity2")=dr1("Capacity")
         dr("BPBPN2")=dr1("产品名称")
         dr("BPBPN3")=Nothing
         dr("capacity3")=Nothing
       Elseif n>2
         Dim dr0 AS DATAROW=drs(0)
         Dim dr1 AS Datarow=drs(1)
         Dim dr2 AS Datarow=drs(2)
         dr("BPBPN1")=dr0("产品名称")
         dr("BPBPN2")=dr1("产品名称")
         dr("capacity2")=dr1("Capacity")
         dr("BPBPN3")=dr2("产品名称")
         dr("capacity3")=dr2("Capacity")
       Else n=0
         dr("BPBPN1")="None"
         dr("BPBPN2")=Nothing
         dr("capacity2")=Nothing
         dr("BPBPN3")=Nothing
         dr("capacity3")=Nothing
   END IF
END If

 

运行的时候,当"电池型号"输入字符而“容量”列无字符时,程序直接就跑到ELSE后面了,输出“NONE”,然后“容量”列输入字符后,才进行筛选。而我希望得到的结果是,当“电池型号”列有输入时,就出现初步的筛选结果,接着“容量”列输入后,再出现进一步的筛选结果。

 

请教:上面的程序段该怎么调整下?


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2010/8/25 11:34:00 [只看该作者]

If e.DataRow.IsNull("电池型号") Then '如果没有输入电池型号

  '无动作

Elseif e.Datarow.Isnull("容量") Then '如果输入了电池型号,但没有输入容量

  '初步筛选

Else '如果两者都输入了

  '进一步筛选

End If

 


 回到顶部