Foxtable(狐表)用户栏目专家坐堂 → 单击显示


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

主题:单击显示

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


加好友 发短信
等级:一尾狐 帖子:401 积分:3639 威望:0 精华:0 注册:2016/11/12 18:42:00
单击显示  发帖心情 Post By:2020/7/3 7:44:00 [只看该作者]

AfterLoad

Dim lvw As WinForm.ListView = Forms("住宿状态").Controls("ListViewindex")
lvw.StopRedraw() '暂停绘制
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.LargeIcon '显示模式为大图标
lvw.Images.AddLargeImage("kong", "kong.png") '
lvw.Images.AddLargeImage("man", "man.png") '
lvw.Images.AddLargeImage("yu", "yu.png") '
lvw.Images.AddLargeImage("cuo", "cuo.png") '
lvw.Images.LargeSize = New Size(120,60) '定义大图标尺寸
For Each dr As DataRow In DataTables("宿舍基础数据").DataRows '从数据表中提取数据
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
  
         vr.Text = dr("楼号") &  dr("宿舍")   & vbcrlf  & "可住" & dr("可住人数")  & "人" & "已住" & dr("已住人数") &"人" &  "空" & dr("空余床位")  '设置标题
    If dr("状态") = "空宿舍" Then '设置分组
        vr.ImageKey = "kong"
    ElseIf  dr("状态") = "已住满" Then '设置分组
        vr.ImageKey = "man"
    ElseIf  dr("状态") = "有余床" Then '设置分组
        vr.ImageKey = "yu"
    ElseIf dr("状态") = "出错了" Then '设置分组
        vr.ImageKey = "cuo"
    End If

    vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next
lvw.ResumeRedraw() '恢复绘制-

----------------RowActivate
Dim lvw As WinForm.ListView = e.Form.Controls("ListViewindex")
Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView的当前行
If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行
    Return
End If

If vr.ImageKey = "kong" Or vr.ImageKey = "man" Or  vr.ImageKey = "yu" Or vr.ImageKey = "cuo" Then
Dim btn As WinForm.Button = e.Form.Controls("Button1")
btn.PerformClick() '点击任何一个,打开对应的
End If

图片点击可在新窗口打开查看此主题相关图片如下:360截图20200703073707154.jpg
图片点击可在新窗口打开查看
想要单击对应的宿舍图标,下面的“住宿生信息”表中只显示对应的楼号和宿舍的人员信息,自己弄了半天没有做出来
[此贴子已经被作者于2020/7/3 7:47:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/3 8:52:00 [只看该作者]

msgbox(vr.ImageKey) 显示什么?
If vr.ImageKey = "kong" Or vr.ImageKey = "man" Or  vr.ImageKey = "yu" Or vr.ImageKey = "cuo" Then

Button1点击click代码发上来

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


加好友 发短信
等级:一尾狐 帖子:401 积分:3639 威望:0 精华:0 注册:2016/11/12 18:42:00
  发帖心情 Post By:2020/7/3 9:13:00 [只看该作者]

Dim lvw As WinForm.ListView = e.Form.Controls("ListViewindex")
Dim vr As WinForm.ListViewRow = lvw.Current '获取ListView的当前行
If vr Is Nothing Then '如果不存在当前行,也就是内有选定任何一行
    Return
End If
Dim dr As DataRow = vr.tag '获取此行对应的DataRow
Dim ps As Integer = Tables("宿舍基础数据").FindRow(dr)


If vr.ImageKey = "man" Then
MessageBox.Show( "这个宿舍已住满.,请选择其他宿舍!")
End If 

If vr.ImageKey = "cuo" Then
MessageBox.Show( "这个宿舍已住人数大于可住人数,请检查!")
End If 

If vr.ImageKey = "yu" Then
MessageBox.Show( "这个宿舍还有床位,可以入住!")
End If 

If vr.ImageKey = "kong" Then
MessageBox.Show( "这个宿舍这个宿舍还未有人入住,可以入住!")
Return
End If 
If ps >= 0 Then
    Tables("宿舍基础数据").Position = ps
    Forms("住宿生信息").show
    For Each cl As WinForm.ListViewColumn In lvw.Columns '逐列更新值
        'vr(cl.Name) = dr(cl.Name)
    Next
End If
点击不论是那种情况,提示后,并在下面已经打开的'住宿生信息“表中显示对应的楼号和该宿舍   即筛选出和点击的楼号,宿舍相对应的楼号和宿舍的学生信息,现在显示的是所有宿舍的信息
[此贴子已经被作者于2020/7/3 9:16:48编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/7/3 9:20:00 [只看该作者]

这个代码只是做个定位而已,没看到有筛选的代码,比如:
Tables("宿舍基础数据").Filter = "楼号='" & dr("楼号") & "'"

 回到顶部