Foxtable(狐表)用户栏目专家坐堂 → listview怎么去掉详细信息?


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

主题:listview怎么去掉详细信息?

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


加好友 发短信
等级:小狐 帖子:349 积分:2511 威望:0 精华:0 注册:2020/7/24 10:30:00
listview怎么去掉详细信息?  发帖心情 Post By:2022/4/24 11:13:00 [只看该作者]

老师,listview怎么去掉详细信息?直接在“生成”这个按钮里面实现呢?


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


Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Details '显示模式为详细信息
lvw.GridLines = True '显示网格线
Dim cls() As String = {"国家","人口","面积","语言","宗教","洲"} '指定要显示的各列 
Dim wds() As Integer = {100,100,130,80,80,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 
lvw.Columns("人口").Text = "人口(万)" '修改人口列的标题 
lvw.Columns("人口").TextAlign = HorizontalAlignment.Right '人口列靠右对齐
lvw.Columns("面积").TextAlign = HorizontalAlignment.Right '面积列靠右对齐
For Each dr As DataRow In DataTables("国家").DataRows '从数据表中提取数据
    Dim Key As String = dr("图标")
    Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
    lvw.Images.AddImage(Key, Key & ".ico", Key & "48.ico") '添加代表这个国家的一对图标
    r.ImageKey = Key '指定图标键值
    For Each cl As String In cls '逐列取值
        Select Case cl
            Case "人口","面积" '如果是人口列或面积列
                r(cl) = format(dr(cl),"#,000") '则显示千位分割符号
            Case Else
                r(cl) = dr(cl)
        End Select
    Next
Next
lvw.ResumeRedraw() '恢复绘制




If e.Sender.Checked = True Then
    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
    lvw.View = ViewMode.Details '显示模式切换为详细内容
End If

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


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

按钮里默认显示模式就是详细内容啊,不需要详细信息勾选,直接去掉即可

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


加好友 发短信
等级:小狐 帖子:349 积分:2511 威望:0 精华:0 注册:2020/7/24 10:30:00
我这么写存在空值,是哪里错误了?  发帖心情 Post By:2022/4/24 11:38:00 [只看该作者]

我这么写取到空值,是哪里错误了?

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
lvw.StopRedraw() '暂停绘制
lvw.Columns.Clear() '清除原来的列
lvw.Rows.Clear() '清除原来的行
lvw.Images.Clear() '清除原来的图片
lvw.View = ViewMode.Details '显示模式为详细信息
lvw.GridLines = True '显示网格线
Dim cls() As String = {"客户地区","客户代码","客户名称","客户联系电话","客户等级"} '指定要显示的各列 
Dim wds() As Integer = {100,100,130,80,80,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 
For Each dr As DataRow In DataTables("订单").DataRows '从数据表中提取数据
Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
       For Each cl As String In cls '逐列取值
        Select Case cl
            Case "cl"
                r(cl) = dr(cl)
        End Select
    Next
Next
lvw.ResumeRedraw() '恢复绘制

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


加好友 发短信
等级:超级版主 帖子:105482 积分:536401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/24 11:40:00 [只看该作者]

For Each dr As DataRow In DataTables("订单").DataRows '从数据表中提取数据
Dim r As  WinForm.ListViewRow =  lvw.Rows.Add() '增加一行
       For Each cl As String In cls '逐列取值
        r(cl) = dr(cl)
    Next
Next

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


加好友 发短信
等级:小狐 帖子:349 积分:2511 威望:0 精华:0 注册:2020/7/24 10:30:00
怎么写这个确定按钮?  发帖心情 Post By:2022/4/24 13:42:00 [只看该作者]

怎么写这个确定按钮? 点击“确定”,勾选好的,订单客户名称填充到“客户评估表”里面的“订单客户”列里面,华南客户名称填充到“华南客户列”里面。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态选择地区.table



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


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


加好友 发短信
等级:超级版主 帖子:105482 积分:536401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/24 13:54:00 [只看该作者]

参考:http://www.foxtable.com/webhelp/topics/2778.htm

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:动态选择地区 (2).zip



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


加好友 发短信
等级:小狐 帖子:349 积分:2511 威望:0 精华:0 注册:2020/7/24 10:30:00
多选框输入  发帖心情 Post By:2022/4/24 16:34:00 [只看该作者]

老师,其实我是下图这么一个需求,我改了代码,是可以输入了。
但是有个需求,复选的内容写入“客户评估”表的时候,是用“,”分开全部汇总写在一个单元格里面,而不是每一个复选占用一个单元格。
比如,复选了listview1里面的华北,华南的客户,客户名称汇总显示在一个单元格。
这样。“确定”按钮应该怎么写?


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


Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim vls As String = ""
Dim dr As DataRow
For Each vr As WinForm.ListViewRow In lvw.CheckedRows
    dr = DataTables("客户评估").Find("订单客户 is  null")
    If dr Is Nothing Then
    dr = DataTables("客户评估").AddNew
    End If
    dr("订单客户") = vr("客户名称")
Next

Dim lvw2 As WinForm.ListView = e.Form.Controls("ListView2")
Dim vls2 As String = ""
Dim dr2 As DataRow
For Each vr As WinForm.ListViewRow In lvw2.CheckedRows
    dr2 = DataTables("客户评估").Find(vr("地区") & "客户 is  null")
    If dr2 Is Nothing Then
        dr2 = DataTables("客户评估").AddNew
    End If
    dr2(vr("地区") & "客户") = vr("客户名称")
Next
Dim lst As new List(of String)
Tables("客户评估").Current("订单客户") = String.Join(",",lst.ToArray)
Tables("客户评估").Current("华南客户") = String.Join(",",lst.ToArray)

forms("客户评估").close

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


加好友 发短信
等级:超级版主 帖子:105482 积分:536401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/24 16:40:00 [只看该作者]

填好的数据是怎么样的?请举例说明

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


加好友 发短信
等级:小狐 帖子:349 积分:2511 威望:0 精华:0 注册:2020/7/24 10:30:00
就是这么一个效果  发帖心情 Post By:2022/4/24 17:07:00 [只看该作者]

就是这么一个效果


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




[此贴子已经被作者于2022/4/26 17:12:02编辑过]

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


加好友 发短信
等级:超级版主 帖子:105482 积分:536401 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/24 17:14:00 [只看该作者]

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
Dim vls As String = ""
Dim dr As DataRow = DataTables("客户评估").AddNew
For Each vr As WinForm.ListViewRow In lvw.CheckedRows
    vls = vls & "," vr("客户名称")
Next
dr("订单客户") = vls.trim(",")

 回到顶部
总数 28 1 2 3 下一页