Foxtable(狐表)用户栏目专家坐堂 → filter如何筛选其他窗口控件的值


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

主题:filter如何筛选其他窗口控件的值

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


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
filter如何筛选其他窗口控件的值  发帖心情 Post By:2015/12/25 1:04:00 [只看该作者]

从订购表录入打开计划单选择时,计划单选择表能按控件上的项目名称,显示相应的计划单嘛?


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

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


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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/25 8:15:00 [只看该作者]

If Forms("订购单录入").Opened Then   
    Tables("订购单选择_Table1").Filter = "工程名称='" & Forms("订购单录入").Controls("Combobox1").Text & "'"  
End If


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


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
  发帖心情 Post By:2015/12/26 1:23:00 [只看该作者]

问题已经解决,把下面的代码放到订购单选择afterload里面就行了
Tables("DG计划单选择_计划单总").Filter = "工程名称 = '"& Forms("订购单_录入").controls("ComboBox2").text &"'"

现在想问一下,如何按“全部”按钮,能把相应项目的计划单明细显示出来?明细表和总表通过订单号关联,明细表没有项目名称,无法直接filter项目名称。
另外,如果想增加一个搜索按钮,搜索对应项目计划单里的某项材料情况,又该怎么处理。


图片点击可在新窗口打开查看此主题相关图片如下:捕获3.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:捕获4.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:temp3.table



[此贴子已经被作者于2015/12/26 1:26:23编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/26 9:59:00 [只看该作者]

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


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


加好友 发短信
等级:幼狐 帖子:168 积分:1956 威望:0 精华:0 注册:2015/5/8 1:17:00
  发帖心情 Post By:2015/12/31 0:41:00 [只看该作者]

“显示全部”
Dim t1 As WinForm.Table = e.Form.Controls("计划单总")  
Dim ids As List(Of String) = t1.Table.DataTable.GetValues("计划单号",t1.Table.Filter)

Dim t2 As WinForm.Table = e.Form.Controls("计划单明细")
t2.Table.Filter = "计划单号 in ('" & String.Join("','",ids.ToArray()) & "')"

Dim g As WinForm.CheckBox = e.Form.Controls("CheckBox1")
g.Checked = False


“搜索”
Dim t1 As WinForm.Table = e.Form.Controls("计划单总")
Dim ids As List(Of String) = t1.Table.DataTable.GetValues("计划单号",t1.Table.Filter)

Dim t2 As WinForm.Table = e.Form.Controls("计划单明细")
Dim filter As String = "计划单号 in ('" & String.Join("','",ids.ToArray()) & "') "

Dim txt As WinForm.TextBox = e.Form.Controls("TextBox1")
If txt.Text > "" Then
filter  = filter & " and 材料名称 like '%" & txt.Text & "%' "
End If

--------------------------------------

想问一下“t1.Table.DataTable.GetValues”.为什么要加Table.DataTable?试着去掉,显示“不是WinForm.Table的成员“。


图片点击可在新窗口打开查看此主题相关图片如下:捕获5.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/12/31 0:41:56编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/12/31 8:41:00 [只看该作者]

t1是控件,t1.Table是控件里的表格,GetValues是DataTable的方法

 回到顶部