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


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

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

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望: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

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望: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() '恢复绘制

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
怎么写这个确定按钮?  发帖心情 Post By:2022/4/24 13:42:00 [显示全部帖子]

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

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



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


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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望: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

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
就是这么一个效果  发帖心情 Post By:2022/4/24 17:07:00 [显示全部帖子]

就是这么一个效果


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




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

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
提示这个错误:  发帖心情 Post By:2022/4/25 11:53:00 [显示全部帖子]

提示这个错误:

编译错误:应为语句结束。
错误代码:vIs=vls&","vr(“客户名称”)

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
“确定”以后会多生成一行  发帖心情 Post By:2022/5/4 22:12: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(",")


Dim lvw2 As WinForm.ListView = e.Form.Controls("ListView2")
Dim vls2 As String = ""
Dim dr2 As DataRow = DataTables("客户评估").AddNew
For Each vr As WinForm.ListViewRow In lvw2.CheckedRows
    vls2 = vls2 & ","& vr("客户名称")
Next
dr("华南客户") = vls2.trim(",")


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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
取最新值  发帖心情 Post By:2022/5/5 15:12:00 [显示全部帖子]

老师,华北,华东这两列没有填充到最新增的一行里面,而是补充了非空单元格,怎么在新增一样的情况下都是填制在同一行?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:listview动态填写.table




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


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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
问题描述  发帖心情 Post By:2022/5/5 15:33:00 [显示全部帖子]


点击“客户评估”窗口,输入“华北客户”,“华东客户”内容,
点击生成,生成“订单客户选择”listview,并勾选
点击生成,生成“华南客户”listview,并勾选
点击确认。关闭窗口,并且在“客户评估”表中新增一行,行内容填充以上填制和选择的内容。



现在的问题:如果“华北客户”,“华东客户”存在单元格空格时,则会自动补充,不会在新形成的一行里面填充内容。

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


加好友 发短信
等级:小狐 帖子:371 积分:2672 威望:0 精华:0 注册:2020/7/24 10:30:00
回复:(有点蓝)去掉控件的绑定,改为使用代码赋值,...  发帖心情 Post By:2022/5/5 16:11:00 [显示全部帖子]

搞定了,谢谢老师。

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