以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于后台筛选数据和编辑 新的问题又出来了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42250) |
||||
-- 作者:ichoo31 -- 发布时间:2013/11/7 9:16:00 -- 关于后台筛选数据和编辑 新的问题又出来了 RT 下面的问题已经解决,但是又出来一个棘手的问题,筛选后的数据我双击是可以打开编辑数据的,但是如果这个数据不是属于当前用户名的 那么双击打开编辑窗口没有内容,但是记录窗口有,这是怎么回事呢,如果数据是属于当前用户的 那么都是正常的。
【狐爸修改的实例在19楼,在这个实例下修改实现的 感谢所有朋友对我的帮助】
If User.group = "管理员" Then
DataTables("客户信息表").LoadFilter = ""
Else
DataTables("客户信息表").LoadFilter = "所有者 = \'" & User.name & "\'"
End If
DataTables("客户信息表").Load() 同事我还有一个查找客户的窗口,在里面的一个TEXTBOX输入客户名的关键词就会动态的筛选出符合条件的数据,但是这个被筛选的数据仅限于所有者列为当前用户名的,我想实现可以全局整个表查找,但是这个窗口加载后只显示所有者列=当前用户的数据,我在TextChanged事件用的代码如下
Dim txt As String = e.Form.Controls("查找条件").Text
Dim tbl As Table = Tables("查找客户_查找客户")
If txt = "" Then
tbl.Filter = ""
Tables("客户信息表").Filter=tbl.Filter
Else
txt = "\'*" & txt & "*\'"
tbl.Filter = "客户名称 Like " & txt & " Or 助记名称 Like " & txt & " Or 销售机会 Like " & txt & " Or 联系人 Like " & txt
Tables("客户信息表").Filter=tbl.Filter
End If 请大家帮帮忙 不是我不思进取,是公司着急用 我必须先让客户收集这块先能 用起来,不然我们丢客户太多了 拜托大家帮帮忙 最好可以弄个实例 万分感谢!
【狐爸修改的实例在19楼,在这个实例下修改实现的 感谢所有朋友对我的帮助】 [此贴子已经被作者于2013-11-14 17:46:18编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/11/7 9:19:00 -- 你把Filter 换为 DataTables("客户信息表").LoadFilter 然后 DataTables("客户信息表").Load 一次就可以了 |
||||
-- 作者:ichoo31 -- 发布时间:2013/11/7 9:50:00 -- If txt = "" Then tbl.Filter = "" Tables("客户信息表").Filter=tbl.Filter Else DataTables("客户信息表").LoadFilter 加在这里 txt = "\'*" & txt & "*\'" tbl.Filter = "客户名称 Like " & txt & " Or 助记名称 Like " & txt & " Or 销售机会 Like " & txt & " Or 联系人 Like " & txt Tables("客户信息表").Filter=tbl.Filter End If 老大 这样对吗,我这一段 Tables("客户信息表").Filter=tbl.Filter 其实是为了让实际的【客户信息表】与我在搜索窗口所选行同步的,因为我要双击编辑这个客户信息 所以需要同步筛选
|
||||
-- 作者:Bin -- 发布时间:2013/11/7 9:56:00 -- 你设置了LoadFilter 再设置Filter 没有什么意义吧? 没搞懂你想做什么 你只需要放一个按钮,筛选条件不变,赋值给Filter改为赋值给LoadFilter即可,然后LOad一次. 不要放到Textchanged中去,因为加载需要耗时,放到TextChanged里面去你会感觉输入不流畅的.
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/11/7 10:00:00 -- 按bin说的,不要放在textchanged事件中,这样会慢死人,放在某个按钮中,输入完毕后,单击这个按钮,代码大概:
Dim txt As String = e.Form.controls("输入框").Value If txt > "" Then |
||||
-- 作者:ichoo31 -- 发布时间:2013/11/7 10:05:00 -- 可能我表达不清楚 我想实现的事 这个窗口打开的时候只加载所有者列为当前用户名的数据公用户选择,但是当加载的数据里面没有用户所需的,用户输入关键词查找的时候,实在全局整个客户信息表里面找,而不是在所有者列为当前用户名这些已经被第一段代码筛选过的数据里面找,其实就是想实现,用户只看得到属于自己的客户,但是如果有合适的关键词 也可以把别人的客户也搜索出来 |
||||
-- 作者:Bin -- 发布时间:2013/11/7 10:10:00 -- 上例子,你到底是想怎么样. |
||||
-- 作者:ichoo31 -- 发布时间:2013/11/7 10:21:00 -- 可能我没表达清楚 我得意思就是这个查找窗口打开的时候只加载这个用户自己的客户在前台,但是当他输入关键词查找的时候是要在整个客户信息表里面筛选,也就说只要有合适关键词 也可以把别人的客户搜出来 |
||||
-- 作者:Bin -- 发布时间:2013/11/7 10:22:00 -- 那么我说得做法就没有错啊. |
||||
-- 作者:ichoo31 -- 发布时间:2013/11/7 10:55:00 -- 老大 我上传例子了 您看下就知道了 我实在笨 密码都是888
|