Foxtable(狐表)用户栏目专家坐堂 → [求助]求教,窗口商品批量选中输入


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

主题:[求助]求教,窗口商品批量选中输入

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


加好友 发短信
等级:童狐 帖子:285 积分:2874 威望:0 精华:0 注册:2011/8/30 17:40:00
[求助]求教,窗口商品批量选中输入  发帖心情 Post By:2012/7/26 10:40:00 [只看该作者]

求教高手,窗口如何批量选中输入.

1、若点批量输入后,实现双击选中的商品,添加到下面表格,而上面表格的商品移除。点确定后,返回输入窗口。

2、若没点批量输入,双击选中的商品,返回输入窗口。(这个已实现)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

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


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

其实不复杂的,就是设置一个条件,隐藏已经选择的行就行了。

 

Dim r As Row = Tables("选择商品_Table1").Current
If forms("销售单").Opened Then
    Dim r1 As Row = Tables("销售单.销售明细").AddNew()
    r1("商品编号")=r("商品编号")
    r1("名称") = r("名称")
    r1("类别") = r("类别")
    r1("单位") = r("单位")
    r1("规格") = r("规格")
    r1("销售单价") = r("零售价")
    DataTables("销售明细").DeleteFor("商品编号 Is Null")
End If
Dim chk As WinForm.CheckBox = Forms("选择商品").Controls("CheckBox1")
If chk.Checked = False
    Forms("选择商品").Close()
Else
    If Tables("销售单.销售明细").Rows.count > 0 Then
        Dim ids As String
        For Each r1 As Row In Tables("销售单.销售明细").Rows
               ids = ids & "'" & r1("商品编号") & "',"
        Next
        Tables("选择商品_Table1").Filter = "商品编号 Not In (" & ids.Trim(",") & ")"
    Else
        Tables("选择商品_Table1").Filter = ""
    End If
End If

[此贴子已经被作者于2012-7-26 12:05:13编辑过]

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


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

在给我的东西,给版权啊!

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


加好友 发短信
等级:童狐 帖子:285 积分:2874 威望:0 精华:0 注册:2011/8/30 17:40:00
  发帖心情 Post By:2012/7/26 17:27:00 [只看该作者]

 Tables("选择商品_Table1").Filter = "商品编号 Not In (" & ids.Trim(",") & ")"

 

多谢狐爸,你的代码可以隐藏已选中的行。但能否仍保持目录树筛选的情况下,隐藏行呢?


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


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

那就修改目录树的代码,将目录树合成的条件和我上面代码合成的条件,组合在一起就行了。


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


加好友 发短信
等级:童狐 帖子:285 积分:2874 威望:0 精华:0 注册:2011/8/30 17:40:00
  发帖心情 Post By:2012/7/26 18:46:00 [只看该作者]

狐爸,还是不行。把代码条件合成到目录树后,要双击目录树才有效。能否在选择行的同时进行筛选或保持原来的筛选呢?

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


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

呵呵,一样的道理啊,选择行的时候,按照我的代码合成一个表达式,然后你根据目录树选定的节点合成一个表达式,将两者组合起来就行了。
根据选定节点合成表达式的例子:
 
Dim Value()As String
Dim trv As Winfrom.TreeView = e.Form.Controls("TreeView1")
Value = trv.SelectedNode.FullPath.Split("\")
Dim Filter1 As Sring
Select Case trv.SelectedNode.Level
    Case 0
            Filter1 ="[产品] = '" & Value(0) & "'"
    Case 1
            Filter1 ="[产品] = '" & Value(0) & "' And [客户] = '" & Value(1) & "'"
    Case 2
            Filter1 ="[产品] = '" & Value(0) & "' And [客户] = '" & Value(1) &"' And [雇员] = '" & Value(2) & "'"
End Select

Dim  Filter2 As String

按照二楼的代码合成Filter2

If Filter1 >"" And Filter2 > ""  Then

    Tables("xxx").Filter  = Filter1 & " And " & Filter2

elseif  Filter1 >"" then

    Tables("xxx").Filter = Filter1 

Else

   Tables("xxx").Filter = Filter2  

End if

[此贴子已经被作者于2012-7-27 8:13:47编辑过]

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


加好友 发短信
等级:童狐 帖子:285 积分:2874 威望:0 精华:0 注册:2011/8/30 17:40:00
  发帖心情 Post By:2012/7/27 9:33:00 [只看该作者]

狐爸你好,还没搞定。见图(同一层下的“农夫山泉”已选,但table1还显示着,不能隐藏。),只能一部分隐藏。上传附件,帮忙看看。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

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


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

If Filter1 >"" And Filter2 > ""  Then
    Tables("选择商品_table1").Filter  = "(" &  Filter1 & ") And " & Filter2
ElseIf  Filter1 >"" Then
    Tables("选择商品_table1").Filter = Filter1
Else
    Tables("选择商品_table1").Filter = Filter2
End If

 

理由你可以自己想出来的。


 回到顶部