Foxtable(狐表)用户栏目专家坐堂 → listview怎么实现与文本框结合,实现模糊筛选?


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

主题:listview怎么实现与文本框结合,实现模糊筛选?

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
listview怎么实现与文本框结合,实现模糊筛选?  发帖心情 Post By:2014/3/21 0:05:00 [只看该作者]

listview怎么实现与文本框结合,实现模糊筛选?

 

 

For Each dr As DataRow In DataTables("配方信息表").Select("花号 Like '*-8'")    '从数据表中提取数据

 

能不能这个8字让客户自己输入选择.不知道怎么写.


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/21 8:06:00 [只看该作者]

For Each dr As DataRow In DataTables("配方信息表").Select("花号 Like '*" & e.Form.Controls("TextBox1").Text & "'")   

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
  发帖心情 Post By:2014/3/21 22:01:00 [只看该作者]

帮助是写在窗口AfterLoad事件,但这样显然不合适了,那要写在哪个事件中呢,LISTVIEW申明的变量又多.

 

窗口的AfterLoad事件代码设置为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39

Dim lvw1 As WinForm.ListView = e.Form.Controls("ListView1") '员工列表
Dim
lvw2 As WinForm.ListView = e.Form.Controls("ListView2") '活动一参与者列表
Dim
lvw3 As WinForm.ListView = e.Form.Controls("ListView3") '活动二参与者列表
Dim
lvws() As Winform.ListView = {lvw1,lvw2,lvw3} '看看我们是怎样批量设置某组控件属性的
For
Each lvw As WinForm.ListView In lvws
    lvw.View = ViewMode.
List
    lvw.AllowDrag =
True
    lvw.AllowDrop =
True
    lvw.Images.AddSmallImage("Man", "Man.ico")
'
添加代表男性的一对图标
    lvw.Images.AddSmallImage("Woman", "Woman.ico")
'
添加代表女性的一对图标
Next
For
Each dr As DataRow In DataTables("员工").Select("","性别") '列出所有员工
    Dim vr As WinForm.ListViewRow = lvw1.Rows.Add()
    vr.Text = dr(
"
姓名")
   
vr.Name = dr("姓名") '将ListViewRow的Name属性设置为员工姓名
    If dr("性别") = "男"
Then
        vr.ImageKey =
"Man"
   
Else
        vr.ImageKey =
"Woman"
    End
If

Next
Dim
nms() As String = DataTables("活动").DataRows(0)("参与者").Split(",") '列出活动一参与者
For Each
nm As String In nms
    If
nm > "" Then
        Dim
vr As WinForm.ListViewRow = lvw2.Rows.Add()
       
vr.Text = nm
       
vr.Name = nm
       
vr.ImageKey = lvw1.Rows(nm).ImageKey  '从员工列表(ListView1)获取此员工的图标键值
    End If
Next

nms
= DataTables("活动").DataRows(1)("参与者").Split(",") '列出活动二参与者
For Each
nm As String In nms
    If
nm > "" Then
        Dim
vr As WinForm.ListViewRow = lvw3.Rows.Add()
       
vr.Text = nm
       
vr.Name = nm
       
vr.ImageKey = lvw1.Rows(nm).ImageKey '从员工列表(ListView1)获取此员工的图标键值
    End If
Next

上面的代码中,我首先请你留意第4行到第11行的代码,当我们需要对一组控件进行相同的设置时,可以用这种方法减少代码量;其次留意第15行代码,此行代码将员工列表(ListView1)中的行的Name属性设置为对应员工的姓名,这样我们可以在28、37这两行代码通过员工姓名获取ListView1中这个员工对应的行,然后获取此行的ImageKey属性,并赋值给活动参与者(ListView2和ListView3)中对应行的ImageKey属性。

2、ListView2(活动一参与者)的BeforeDropRow事件代码设置为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Dim lvw As WinForm.ListView = e.Sender
If
lvw.Rows.Count >= 3  AndAlso e.Source.Name <> lvw.Name Then '如果已经有三人,而且是从其他ListView拖动过来.
    Messagebox.show(
"
每项活动最多允许三人参与!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
'
取消本次拖动
    Return

End
If
If
e.Source.Name"ListView1" '如果是从员工列表中拖过来的行
    e.Delete = False
'
不要删除原来的项目
End
If
Dim
itm As WinForm.ListViewRowe.Source.Rows(e.OldIndex) '获取要拖动过来的行
If
e.Source.Name <> e.Sender.Name Then '如果是从其他ListView中拖动过来的
    If e.Sender.Rows.Contains(itm.Name)
'
判断活动一是否已经包括此员工
        MessageBox.Show(
"
此员工已经报名参加活动一,无需重复报名!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
       
e.Cancel = True '取消本次拖动
    End If

End
If

[此贴子已经被作者于2014-3-21 22:02:57编辑过]

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
  发帖心情 Post By:2014/3/21 22:20:00 [只看该作者]


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

 

简单的说就是要把左边的图片经过筛选后,拖到右边的详细订单中,因为左边的图片太多了,所以必须经过筛选.我们的行业是以花型图片来管理数据的.

[此贴子已经被作者于2014-3-21 23:47:10编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/22 7:46:00 [只看该作者]

做个简单的例子,能说明问题、能测试就行,大家帮你看看。

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
  发帖心情 Post By:2014/3/22 9:33:00 [只看该作者]

谢谢老师,等下上例子.

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
  发帖心情 Post By:2014/3/22 21:22:00 [只看该作者]

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

 

上个例子,老师们帮我看下,怎么才能把经过筛选后的左侧图片,拖到右边的LISTVIEW2

 

并把图片的花号信息(13-2222-4)导入到表B花号例,按序添加.谢谢了,头都大了.


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/3/23 11:05:00 [只看该作者]

新控件,不熟悉,做起来好难,总算做出来了。

 

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

[此贴子已经被作者于2014-3-23 11:51:58编辑过]

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
  发帖心情 Post By:2014/3/23 12:04:00 [只看该作者]

谢谢老师,下来看看.

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


加好友 发短信
等级:婴狐 帖子:76 积分:598 威望:0 精华:0 注册:2013/8/7 7:35:00
  发帖心情 Post By:2014/3/23 12:11:00 [只看该作者]

能不能给我试用版啊,我打不开啊.刚学不久啊.

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