Foxtable(狐表)用户栏目专家坐堂 → [求助]关于listview显示问题


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

主题:[求助]关于listview显示问题

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


加好友 发短信
等级:幼狐 帖子:170 积分:1195 威望:0 精华:0 注册:2016/2/21 18:26:00
[求助]关于listview显示问题  发帖心情 Post By:2016/8/29 11:36:00 [只看该作者]


在一个LISTVIEW中,已完成考核科目的分类,但是希望只显示每项科目最近一次“考核时间”的相关信息,同时按成绩进行降序排序,该如何实现

PS:第一项“姓名”无论如何都居中不了,求解~~~~

截图如下:


                        ~~~~~~怎么传不了了~~~稍后补上

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



数据都是瞎写的~~~不要深究
[此贴子已经被作者于2016/8/29 11:47:08编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/29 12:18:00 [只看该作者]

 贴出代码,或者上传实例。

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


加好友 发短信
等级:幼狐 帖子:170 积分:1195 威望:0 精华:0 注册:2016/2/21 18:26:00
  发帖心情 Post By:2016/8/29 12:44:00 [只看该作者]

'训练管理页面生成
If e.Sender.SelectedPage.Text ="训练管理" Then
    Dim lvw As WinForm.ListView = e.Form.Controls("LV训练成绩")
    lvw.StopRedraw() '停止绘制
    lvw.Groups.Clear() '清除原来的分组
    lvw.Columns.Clear() '清除原来的列
    lvw.Rows.Clear() '清除原来的行
    lvw.Images.Clear() '清除原来的图片
    lvw.View = ViewMode.Details '显示模式为详细信息
    Dim cls() As String = {"姓名","JX","职务","考核情况_完成时间","考核情况_扣分情况","考核情况_最终得分","等级评定","考核时间"} '定义列名
    Dim wds() As Integer = {80,80,80,100,100,100,80,100} '定义列宽
    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) '指定列宽
        c.TextAlign = HorizontalAlignment.center
    Next
    For Each zh As String In DataTables("考核成绩表").GetValues("考核项目") '增加分组
        Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
        grp.Name = zh
        grp.Text = zh
    Next
    For Each dr As DataRow In DataTables("考核成绩表").DataRows
        Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
        r.Group = dr("考核项目") '指定所属分组
        For Each cl As String In cls '逐列取值
            r(cl) = dr(cl)
        Next
    Next
    lvw.ResumeRedraw() '恢复绘制
    lvw.Columns("考核情况_完成时间").Text = "考核用时" '修改考"核情况_完成时间"列的标题
    lvw.Columns("考核情况_扣分情况").Text = "扣分情况"
    lvw.Columns("考核情况_最终得分").Text = "最终得分"
End If


这是利用页面集合当主窗口,设计的其中一个页面的内容,调用的表就是普通成绩统计表


PS:菜鸟才学两三个月,前期都在看文件,近一两周才开始动手,问题比较多,还请老师们多多指教图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/29 14:46:00 [只看该作者]

 上传foxtable实例。

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


加好友 发短信
等级:幼狐 帖子:170 积分:1195 威望:0 精华:0 注册:2016/2/21 18:26:00
  发帖心情 Post By:2016/8/29 15:35:00 [只看该作者]

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


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/29 15:52:00 [只看该作者]

'训练管理页面生成
If e.Sender.SelectedPage.Text ="训练管理" Then
    Dim lvw As WinForm.ListView = e.Form.Controls("LV训练成绩")
    lvw.StopRedraw() '停止绘制
    lvw.Groups.Clear() '清除原来的分组
    lvw.Columns.Clear() '清除原来的列
    lvw.Rows.Clear() '清除原来的行
    lvw.Images.Clear() '清除原来的图片
    lvw.View = ViewMode.Details '显示模式为详细信息
    Dim cls() As String = {"","姓名","JX","职务","考核情况_完成时间","考核情况_扣分情况","考核情况_最终得分","等级评定","考核时间"} '定义列名
    Dim wds() As Integer = {0,80,80,80,100,100,100,80,100} '定义列宽
    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) '指定列宽
        c.TextAlign = HorizontalAlignment.center
    Next
    For Each zh As String In DataTables("考核成绩表").GetValues("考核项目") '增加分组
        Dim grp As WinForm.ListViewGroup = lvw.Groups.Add()
        grp.Name = zh
        grp.Text = zh
        For Each xm As String In DataTables("考核成绩表").GetValues("姓名", "考核项目 = '" & zh & "'")
            Dim dr As DataRow = DataTables("考核成绩表").find("考核项目 = '" & zh & "' and 姓名 = '" & xm & "'", "考核时间 desc")
           
            Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
            r.Group = dr("考核项目") '指定所属分组
            For Each cl As String In cls '逐列取值
                If cl > ""
                    r(cl) = dr(cl)
                End If
            Next
        Next
    Next
   
    lvw.ResumeRedraw() '恢复绘制
    lvw.Columns("考核情况_完成时间").Text = "考核用时" '修改考"核情况_完成时间"列的标题
    lvw.Columns("考核情况_扣分情况").Text = "扣分情况"
    lvw.Columns("考核情况_最终得分").Text = "最终得分"
End If

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


加好友 发短信
等级:幼狐 帖子:170 积分:1195 威望:0 精华:0 注册:2016/2/21 18:26:00
  发帖心情 Post By:2016/8/29 16:31:00 [只看该作者]

万分感谢~~~~等我软件制作成了给老板过目以后定会购买正版进行开发~~~今后还请继续指导图片点击可在新窗口打开查看

领导满意的话就能报销喽~~~图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:170 积分:1195 威望:0 精华:0 注册:2016/2/21 18:26:00
  发帖心情 Post By:2016/8/29 20:09:00 [只看该作者]


[此贴子已经被作者于2016/8/29 20:09:51编辑过]

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


加好友 发短信
等级:幼狐 帖子:170 积分:1195 威望:0 精华:0 注册:2016/2/21 18:26:00
[求助]  发帖心情 Post By:2016/8/29 20:09:00 [只看该作者]

还有一个问题:Dim cls() As String = {"","姓名","JX","职务","考核情况_完成时间","考核情况_扣分情况","考核情况_最终得分","等级评定","考核时间"} '定义列名
    Dim wds() As Integer = {0,80,80,80,100,100,100,80,100} '定义列宽
我用在其他地方说:列“”不属于表,为什么这里可以用,换个地方就不行呢???

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


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

完整代码贴出来。

代码并不是随便拷拷就能用的,要根据上下文,更改表名列名等......

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