Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共77 条记录, 每页显示 10 条, 页签: [3][4][5][6] [7] [8]
[浏览完整版]

标题:窗口筛选树统计问题

61楼
jhxb8821 发表于:2024/5/10 10:12:00
已增加类别字典表,麻烦蓝老师修改调试一下代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目240531.rar

62楼
有点蓝 发表于:2024/5/10 10:19:00
第一个获取遍历类别的循环改为从字典表取值
63楼
jhxb8821 发表于:2024/5/10 11:13:00
己修改,麻烦老师再
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24055.rar

看看,还需不需要将四和九加上,类号又如何表述?
[此贴子已经被作者于2024/5/10 11:18:08编辑过]
64楼
有点蓝 发表于:2024/5/10 11:21:00
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目24055.zip

65楼
jhxb8821 发表于:2024/5/10 11:24:00
Dim i As Integer = 3
Dim idx As Integer = 1 
Dim lst As List(Of String) = DataTables("类别字典").GetValues("材料类别", "", "排序号1")
Dim s1 As String() = {"一", "二", "三", "四", "4-1", "4-2", "4-3", "4-4", "五", "六", "七", "八", "九", "9-1", "9-2", "9-3", "9-4", "十"}
For k As Integer = 0 To lst.Count - 1 '第一个获取遍历类别的循环改为从字典表取值
    Dim n As String = lst(k)
    rt.Cells(i, 0).Text = idx 
    rt.Cells(i, 1).Text = s1(k)
    rt.Cells(i, 2).Text = n
    idx += 1
    i += 1
    Dim drs As List(Of DataRow) = DataTables("表A").Select("材料类别='" & n & "' and 材料名称 is not null", "排序号")
    For j As Integer = 0 To drs.Count - 1
        Dim dr As DataRow = drs(j)
        rt.Cells(i + j, 0).Text = idx 
        rt.Cells(i + j, 1).Text = j + 1 
        rt.Cells(i + j, 2).Text = dr("材料名称") 
        rt.Cells(i + j, 3).Text = dr("材料形成日期").Year 
        rt.Cells(i + j, 4).Text = dr("材料形成日期").Month
        rt.Cells(i + j, 5).Text = dr("材料形成日期").Day
        rt.Cells(i + j, 6).Text = dr("份数")
        rt.Cells(i + j, 7).Text = dr("页数") 
        rt.Cells(i + j, 8).Text = dr("备注")
        idx += 1
    Next
    i += drs.Count
    rt.Cells(i, 0).Text = idx
    idx += 1
    i += 1
Next
66楼
jhxb8821 发表于:2024/5/10 11:26:00
我这样修改后,结果正常,就是在四和九之后各多空一行,这两行怎么消除
67楼
有点蓝 发表于:2024/5/10 11:27:00
理解一下代码,看看是什么代码添加空行的。然后想想四和九和其它的有什么不一样的地方,应该怎么判断
68楼
jhxb8821 发表于:2024/5/10 13:02:00
For k As Integer = 0 To lst.Count - 1 
    Dim n() As String = lst(k)
    rt.Cells(i, 0).Text = idx 
    rt.Cells(i, 1).Text = n(0)
    rt.Cells(i, 2).Text = n(1)
    idx += 1
    i += 1
    Dim drs As List(Of DataRow) = DataTables("表A").Select("材料类别='" & n(1) & "' and 材料名称 is not null", "排序号")
    For j As Integer = 0 To drs.Count - 1
        Dim dr As DataRow = drs(j)
        rt.Cells(i + j, 0).Text = idx 
        rt.Cells(i + j, 1).Text = j + 1 
        rt.Cells(i + j, 2).Text = dr("材料名称") 
        rt.Cells(i + j, 3).Text = dr("材料形成日期").Year 
        rt.Cells(i + j, 4).Text = dr("材料形成日期").Month
        rt.Cells(i + j, 5).Text = dr("材料形成日期").Day
        rt.Cells(i + j, 6).Text = dr("份数")
        rt.Cells(i + j, 7).Text = dr("页数") 
        rt.Cells(i + j, 8).Text = dr("备注")
       idx += 1
    Next
    i += drs.Count
    rt.Cells(i, 0).Text = idx
    idx += 1
if  类号不是“四”和“九”  then
   i += 1 '去掉这行代码时,表示类别间不留空行
end if
Next
蓝老师,留空行代码可能是红色处,怎么加判断,类号不是四和九,这里怎么表述?
69楼
有点蓝 发表于:2024/5/10 13:42:00
看看字典表里,想想四和九和其它的一二三....有什么不一样的地方?如果没有什么可以区分的东西,那就增加一个列进行区分了
70楼
jhxb8821 发表于:2024/5/10 14:49:00
i += drs.Count
    rt.Cells(i, 0).Text = idx
    idx += 1
    i += 1 
    If n(0) <> "四" And n(0) <> "九" Then  
        i += 1 
    End If
加上这个代码就非常完美了,谢谢老师
共77 条记录, 每页显示 10 条, 页签: [3][4][5][6] [7] [8]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .19922 s, 5 queries.