Foxtable(狐表)用户栏目专家坐堂 → 窗口筛选树统计问题


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

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

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/16 17:52:00 [显示全部帖子]

谢谢老师

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 9:31:00 [显示全部帖子]

Select Case e.Col.Name 
    Case ""日" & 1 To 31"
        If e.text = "×" Then
            e.Style = "旷工"
        Else If e.text = "√"
        e.Style = "出勤"
        Else If e.text = "△"
            e.Style = "事假" 
        End If 
End Select

老师,红色的怎么修改?

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 10:42:00 [显示全部帖子]

Dim d As Date = e.Form.Controls("DateTimePicker1").Value
MessageBox.Show(d.year)
If d <> Nothing Then
    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")
    Dim int As Integer = 0
    For Each r As WinForm.ListViewRow In lvw.Rows
        If r.Checked = True Then
            int = int + 1
        End If
    Next
    If Int = 0 Then
        MessageBox.show("你并没有选择任何人!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Else
        Dim Result As DialogResult '对话框结果
        Result = MessageBox.Show("你本次到岗人数为: " & int & "人,缺勤人数为: " & int & " 人,确定考勤吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            For Each r As WinForm.ListViewRow In lvw.Rows
                Dim dr As DataRow = DataTables("月考勤统计A").Find("年='" & d.Year & "' And 月='" & d.Month & "' And 姓名='" & r.Text & "'")
                If dr Is Nothing Then
                    dr = DataTables("月考勤统计A").AddNew
                    dr("年") = d.Year
                    dr("月") = d.Month
                    dr("姓名") = r.Text
                End If
                '原代码
                '    If r.Checked = True Then
                '       dr("日" & d.Day) = "√"
                '    Else
                '       dr("日" & d.Day) = "×"
                '    End If
                '新代码 完全正确
                If r.Checked = True Then 
                    Dim dn As String = e.Form.Controls("ComboBox1").Value
                    If dn = "出勤√" Then
                        dr("日" & d.Day) = "√"
                    Else If dn = "病假△" Then
                    dr("日" & d.Day) = "△"
                    Else If dn = "事假☆" Then
                    dr("日" & d.Day) = "☆"
                    Else If dn = "旷工×" Then
                    dr("日" & d.Day) = "×"
                    Else If dn = "休息/" Then
                    dr("日" & d.Day) = "/" 
                    Else If dn = "其他○" Then
                        dr("日" & d.Day) = "○"
                    End If
                     DataTables("人员信息表A").DataRow("是否登记") = True
                End If 
            Next
            DataTables("月考勤统计A").Save
        End If
    End If
Else
    MessageBox.show("考勤日期不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
老师,这里需要赋值,请修改一下红色代码

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 10:56:00 [显示全部帖子]

蓝老师,不是在同一个表赋值

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 11:10:00 [显示全部帖子]

   窗口ListView中:If r.Checked = True Then 
   那么,  "人员信息表A"的"是否登记"逻辑列 = True

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 13:15:00 [显示全部帖子]

Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

For Each r As WinForm.ListViewRow In lvw.Rows

    r.Checked = True

Next


蓝老师,这是全选代码,我想要已选代码


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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 13:21:00 [显示全部帖子]

全选:(单选框)

If e.Sender.Checked = True Then

    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

    lvw.View = ViewMode.Details '显示模式切换为:复选框为全选的内容

End If

已选:

If e.Sender.Checked = True Then

    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

    lvw.View = ViewMode.LargeIcon '显示模式切换为:复选框为已选的内容

End If

未选:

If e.Sender.Checked = True Then

    Dim lvw As WinForm.ListView = e.Form.Controls("ListView1")

    lvw.View = ViewMode.LargeIcon '显示模式切换为:复选框为未选的内容

End If

这样能实现吗,红色代码修改


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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/19 14:28:00 [显示全部帖子]

好的

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/20 15:36:00 [显示全部帖子]

Dim b As New CrossTableBuilder("交叉统计表1", DataTables("订单"))
b.HGroups.AddDef("客户") 
b.HGroups.AddDef("产品") 
b.HGroups.AddDef("日期", DateGroupEnum.Year, "年") 
b.HGroups.AddDef("日期", "月") 
b.VGroups.AddDef("日期", DateGroupEnum.Day, "日期_{0}日") 
b.Totals.AddDef("数量") '添加数量列用于统计;
b.Build 
Maintable = Tables("交叉统计表1") 
老师, 这个交叉统计代码是正确, 假若我不用"数量"列, 换成"评比结果"字符列, 这里如何给指定日期列赋值?

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


加好友 发短信
等级:三尾狐 帖子:701 积分:5004 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/10/20 15:46:00 [显示全部帖子]

比如3日,检查结果为“好”,则将“好”填充到“3日”列中,像考勤一样,能不能用交叉统计代码,简洁表示

 回到顶部
总数 44 上一页 1 2 3 4 5 下一页