以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 逻辑型字段问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178995) |
-- 作者:wukangppbb -- 发布时间:2022/8/2 14:25:00 -- 逻辑型字段问题 老师: 问一下,这种逻辑型字段到了ListView 里面就变成了 true 与false ,怎么调整为”是“与”否“? . |
-- 作者:有点蓝 -- 发布时间:2022/8/2 14:34:00 -- 怎么生成ListView 的? |
-- 作者:wukangppbb -- 发布时间:2022/8/2 16:00:00 -- 回复:(有点蓝)怎么生成ListView 的? 用了一个按钮 Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") lvw.StopRedraw() \'暂停绘制 lvw.Columns.Clear() \'清除原来的列 lvw.Rows.Clear() \'清除原来的行 lvw.Images.Clear() \'清除原来的图片 lvw.GridLines = True \'显示网格线 lvw.MultiSelect = False \'禁止按Ctrl多选 lvw.CheckBoxes = True \'显示复选框 lvw.View = ViewMode.Details \'显示模式为详细信息 Dim cls() As String = {"集团公司","公司名称","公司属性","公司层次","是否并表","控股比例","归属母公司","公司代码"} \'指定要显示的各列 Dim wds() As Integer = {"200","200","200","200","200","200","200","200"} \'定义列宽 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) \'指定列宽 |
-- 作者:有点蓝 -- 发布时间:2022/8/2 16:10:00 -- 赋值的代码呢!!! 按单元格赋值的时候,自己判断是true就设置为“是”
|
-- 作者:wukangppbb -- 发布时间:2022/8/2 16:30:00 -- 回复:(有点蓝)赋值的代码呢!!!按单元格赋值的时... 写的好像有问题,麻烦老师改改 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 "控股比例" \' r(cl) = format(dr(cl),"00.0%") \'则显示千位分割符号 Case "是否并表" If cl= True Then r(cl) = "是" End If Case Else r(cl) = dr(cl) End Select Next Next lvw.ResumeRedraw() \'恢复绘制 |
-- 作者:有点蓝 -- 发布时间:2022/8/2 16:35:00 -- 有什么问题?能不能尽量一次性把问题描述完整,不要老是一截一截的 |
-- 作者:wukangppbb -- 发布时间:2022/8/2 17:14:00 -- 回复:(有点蓝)有什么问题?能不能尽量一次性把问题... 现在的需求是:表格里面的打勾的效果怎么在listview 里面显示出来? 以下是表格的显示 以下是listview 里面的显示 生成的代码: Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") lvw.StopRedraw() \'暂停绘制 lvw.Columns.Clear() \'清除原来的列 lvw.Rows.Clear() \'清除原来的行 lvw.Images.Clear() \'清除原来的图片 lvw.GridLines = True \'显示网格线 lvw.MultiSelect = False \'禁止按Ctrl多选 lvw.CheckBoxes = True \'显示复选框 lvw.View = ViewMode.Details \'显示模式为详细信息 Dim cls() As String = {"集团公司","公司名称","公司属性","公司层次","是否并表","控股比例","归属母公司","公司代码"} \'指定要显示的各列 Dim wds() As Integer = {"200","200","200","200","200","200","200","200"} \'定义列宽 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 "控股比例" \' r(cl) = format(dr(cl),"00.0%") \'则显示千位分割符号 Case Else r(cl) = dr(cl) End Select Next Next lvw.ResumeRedraw() \'恢复绘制 |
-- 作者:有点蓝 -- 发布时间:2022/8/2 17:22:00 -- 无法显示打勾效果,只能使用其它字符替代,比如是/否 |
-- 作者:wukangppbb -- 发布时间:2022/8/3 14:58:00 -- 回复:(有点蓝)无法显示打勾效果,只能使用其它字符... 这个写进去以后报错了,转换不成“是”与“否”。 For Each cl As String In cls \'逐列取值 Select Case cl Case "控股比例" \' r(cl) = format(dr(cl),"00.0%") \'则显示千位分割符号 Case "是否并表" If cl = True Then r(cl) = "是" If cl = False Then r(cl) = "否" End If End If Case Else r(cl) = dr(cl) End Select |
-- 作者:有点蓝 -- 发布时间:2022/8/3 15:00:00 -- Case "是否并表" If dr(cl) = True Then r(cl) = "是" else r(cl) = "否" End If Case Else
|