Foxtable(狐表)用户栏目专家坐堂 → [求助]帮忙看下这个筛选树的代码 谢谢


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

主题:[求助]帮忙看下这个筛选树的代码 谢谢

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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望:0 精华:0 注册:2012/4/13 13:10:00
[求助]帮忙看下这个筛选树的代码 谢谢  发帖心情 Post By:2013/5/30 11:38:00 [只看该作者]

在"生产进度表"里分别有两列"零件名称"和"工艺原料"调用筛选树窗口,但是现在情况是 两列不管是在哪列里面操作 都同时变发更改了……就像没做列判断一样! 请帮忙看看哪里写错了!

 

If e.Node.Level = 0 OrElse e.Node.Level = 1 Then '如果是顶层节点
    Return '则返回
End If
Dim Vals() As String = e.Node.FullPath.Split("\")
Dim Filter As String
Filter = "[库存类别] = '" & Vals(0) & "' And [品名] = '" & Vals(1) & "' And [零件号] = '" & Vals(2) & "'"
Dim dr As DataRow = DataTables("库存总表").Find(Filter)

For Each t As Col In Tables("生产进度表").Cols
    Dim r As Row = Tables("生产进度表").Current
    If t.Name = "零件名称" Then
        r("零件名称") = dr("品名")
        r("零件号") = dr("零件号")
    ElseIf t.Name = "工艺原料" Then
        r("工艺原料") = dr("零件号")
    End If
    e.Form.Close()
Next

[此贴子已经被作者于2013-5-30 11:39:55编辑过]

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


加好友 发短信
等级:小狐 帖子:321 积分:2468 威望:0 精华:2 注册:2013/1/16 19:33:00
  发帖心情 Post By:2013/5/30 11:45:00 [只看该作者]

For Each t As Col In Tables("生产进度表").Cols
    Dim r As Row = Tables("生产进度表").Current
    If t.Name = "零件名称" Then
        r("零件名称") = dr("品名")
        r("零件号") = dr("零件号")
    ElseIf t.Name = "工艺原料" Then
        r("工艺原料") = dr("零件号")
    End If
    e.Form.Close()
Next
这段是干嘛呢

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


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

请问能不能上例子,有例子的话效果比较直观,也可以测试一下看看是什么情况.  比单单看着代码靠脑补速度快得多.

想要问题快速得到解决,只少要方便一下帮助你的人吧?

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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/30 11:49:00 [只看该作者]

以下是引用fjlclxj在2013-5-30 11:45:00的发言:
For Each t As Col In Tables("生产进度表").Cols
    Dim r As Row = Tables("生产进度表").Current
    If t.Name = "零件名称" Then
        r("零件名称") = dr("品名")
        r("零件号") = dr("零件号")
    ElseIf t.Name = "工艺原料" Then
        r("工艺原料") = dr("零件号")
    End If
    e.Form.Close()
Next
这段是干嘛呢

 

我只是想在同一个表里 不同列调用这个筛选窗口做填写


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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/30 11:51:00 [只看该作者]

以下是引用Bin在2013-5-30 11:45:00的发言:
请问能不能上例子,有例子的话效果比较直观,也可以测试一下看看是什么情况.  比单单看着代码靠脑补速度快得多.

想要问题快速得到解决,只少要方便一下帮助你的人吧?

 

因为项目里有很多数据,做例子也太麻烦了,如果发代码解决不了的话 我就只好去做例子了……图片点击可在新窗口打开查看


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


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

以下是引用jiskin在2013-5-30 11:51:00的发言:

 

因为项目里有很多数据,做例子也太麻烦了,如果发代码解决不了的话 我就只好去做例子了……图片点击可在新窗口打开查看


就是麻烦别人,方便自己呗图片点击可在新窗口打开查看

你这样循环列.怎么得都会有一次是 零件名称 一次是  工艺原料的好吧

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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/30 11:59:00 [只看该作者]

以下是引用Bin在2013-5-30 11:55:00的发言:


就是麻烦别人,方便自己呗图片点击可在新窗口打开查看

你这样循环列.怎么得都会有一次是 零件名称 一次是  工艺原料的好吧

 

就是这个问题啊!闹不明白,为什么会两个都循环出来呢~图片点击可在新窗口打开查看 你一定要帮我啊~


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


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

这个怎么会不明白.   你循环   123456  你判断1就执行代码块1  判断2就执行代码块2    那么你循环的时候 肯定代码块1和代码块2都执行的啊.

因为你循环是1-2-3-4-5-6  第一次循环执行代码块1 第二次循环不就执行代码块2了吗? 有什么不明白的?



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


加好友 发短信
等级:三尾狐 帖子:714 积分:5207 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2013/5/30 12:04:00 [只看该作者]

以下是引用Bin在2013-5-30 12:01:00的发言:
这个怎么会不明白.   你循环   123456  你判断1就执行代码块1  判断2就执行代码块2    那么你循环的时候 肯定代码块1和代码块2都执行的啊.

因为你循环是1-2-3-4-5-6  第一次循环执行代码块1 第二次循环不就执行代码块2了吗? 有什么不明白的?


 

可是我选择"零件名称"列的时候 为什么"工艺原料" 也会变化呢?

难道 If t.Name = "零件名称" Then 不算判断列吗?

求指点

 


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


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

For Each t As Col In Tables("生产进度表").Cols

你循环的是所有列好吧..
那么请问你IF判断有意义吗?像你这样的.
第一次列名1  符合第一个个条件  那么ELSEIF不执行正常啊.

那么第二次呢?你无视掉了? 变列名2了. 那不是不符合第一个IF条件  符合ELSEIF的条件了吗?  那不就执行ELSEIF了吗?
[此贴子已经被作者于2013-5-30 12:05:49编辑过]

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