Foxtable(狐表)用户栏目专家坐堂 → 【求助】数据字典


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

主题:【求助】数据字典

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


加好友 发短信
等级:幼狐 帖子:184 积分:1323 威望:0 精华:0 注册:2016/12/27 13:29:00
【求助】数据字典  发帖心情 Post By:2017/2/20 14:49:00 [只看该作者]

老师,请问在listview中怎么用数据字典的“值”进行分组显示数据??

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/20 15:29:00 [只看该作者]

你的数据字典,是使用某表的数据,还是直接编写各个值?

 

无论哪一种,都是不能直接获取数据处理的。你需要额外的定义一个字典变量 dic 来处理分组。

 

具体问题上传实例。


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


加好友 发短信
等级:幼狐 帖子:184 积分:1323 威望:0 精华:0 注册:2016/12/27 13:29:00
  发帖心情 Post By:2017/2/20 16:30:00 [只看该作者]


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


老师,我是想用 "生产部" 替换"001","统计部" 替换 “003"........

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





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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/20 18:06:00 [只看该作者]

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '停止绘制
lvw.Groups.Clear() '清除原来的分组
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
' lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Details '显示模式为详细信息
lvw.Images.AddSmallImage("Man", "Man.ico") '添加代表男性的图标
lvw.Images.AddSmallImage("Woman", "Woman.ico") '添加代表女性的图标
Dim cls() As String = {"姓名","性别","地址"} '指定要显示的各列
Dim wds() As Integer = {100,130,80} '定义列宽
For i As Integer = 0 To  cls.Length - 1
    Dim c As WinForm.ListViewColumn = lvw.Columns.Add()
    c.Name = cls(i) '指定列名
    c.Text = cls(i)'指定列标题
    c.Width = wds(i) '指定列宽
Next
Dim dic As new Dictionary(Of String, String)
For Each zh As String In DataTables("信息").GetValues("部门", "部门 is not null") '增加分组
    Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
    Dim fdr As DataRow = DataTables("编码").find("编号 = '" & zh & "'")
    dic.add(zh, fdr("部门"))
    grp.Name = fdr("部门")
    grp.Text = fdr("部门")
Next
For Each dr As DataRow In DataTables("信息").Select("部门 is not null") '从数据表中提取数据
    Dim vr As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    vr.Group = dic(dr("部门")) '指定所属分组
    For Each cl As String In cls '逐列取值
        vr(cl) = dr(cl)
    Next
    If dr("性别") = "男" Then '设置分组
        vr.ImageKey = "Man"
    Else
        vr.ImageKey = "Woman"
    End If
    vr.Tag= dr '将DataRow赋值给ListViewRow的Tag属性,将二者联系起来
Next
lvw.ResumeRedraw() '恢复绘制

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


加好友 发短信
等级:幼狐 帖子:184 积分:1323 威望:0 精华:0 注册:2016/12/27 13:29:00
  发帖心情 Post By:2017/2/21 9:51:00 [只看该作者]

谢谢老师

老师,我还想问一下,编辑窗口的文本框可以绑定到字典的“值”??即将下图部门的“006” 变成“技术部”


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


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


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

DropBox2的DataFormat事件

If e.Value > "" Then
    Dim dr As DataRow = DataTables("编码").Find("编号='" & e.Value & "'")
    If dr IsNot Nothing Then e.Text = dr("部门")
End If

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


加好友 发短信
等级:幼狐 帖子:184 积分:1323 威望:0 精华:0 注册:2016/12/27 13:29:00
  发帖心情 Post By:2017/2/21 11:46:00 [只看该作者]

谢谢老师

 回到顶部