Foxtable(狐表)用户栏目专家坐堂 → web复选框的保存


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

主题:web复选框的保存

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 13:44:00 [显示全部帖子]

先获取页面勾选的考勤人员姓名放入一个集合,然后遍历表格所有行,判断姓名在集合中的就画√,不在集合的画×

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


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 14:18:00 [显示全部帖子]

……
        For Each dr As DataRow In drs
            Dim s As String = dr("姓名")
            If s.Length = 2 Then
                Dim s1 As String = s.PadRight(3)
                cdg.add("考勤人员_" & dr("_Identify"),s1 & " ").value = dr("姓名")
            Else
                cdg.add("考勤人员_" & dr("_Identify"),s).value = dr("姓名")
            End If
        Next
……
Else
    Dim d As Date =  e.PostValues("考勤日期")
    If d = Nothing Then
        Return Nothing '必须返回
    End If
dim lst as new list(of string)
for each key as string in e.postvalues.Keys
if key like "考勤人员_*" then
lst.add(e.postvalues(key))
end if
next
for each ss as string in DataTables("实名制管理").SQLgetvalues("项目名称 = '" & _Userxmmc & "' and 在岗状态 = '在岗'")
        Dim dr As DataRow = DataTables("实名制考勤").SQLFind("项目名称 = '" & _Userxmmc & "' and 年 = '" & d.Year & "' and 月 = '" & d.Month & "' and 姓名='" & ss & "'")
        If dr Is Nothing Then
            dr = DataTables("实名制考勤").AddNew
            dr("项目名称") = _Userxmmc
            dr("姓名") = ss
end if
            dr("年") = d.Year
            dr("月") = d.Month
            If lst.contains(ss)
                dr("日" & d.Day) = "√"
            Else
                dr("日" & d.Day) = "×"
            End If
End If

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


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 15:32:00 [显示全部帖子]

使用dr.save。SQLFind的行要单独保存

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


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 16:06:00 [显示全部帖子]

.....学会调试


        Return Nothing '必须返回
    End If
    Dim lst As new List(of String)
    For Each key As String In e.postvalues.Keys

msgbox("key=” & key)

        If key Like "考勤人员_*" Then
            lst.add(e.postvalues(key))
        End If
    Next

msgbox(lst.count)
    Dim d As Date =  e.PostValues("考勤日期")
    For Each ss As String In DataTables("实名制管理").SQLGetvalues("项目名称 = '" & _Userxmmc & "' and 在岗状态 = '在岗'")

msgbox("ss=" & ss)

msgbox("项目名称 = '" & _Userxmmc & "' and 年 = '" & d.Year & "' and 月 = '" & d.Month & "' and 姓名='" & ss & "'")

        Dim dr As DataRow = DataTables("实名制考勤").SQLFind("项目名称 = '" & _Userxmmc & "' and 年 = '" & d.Year & "' and 月 = '" & d.Month & "' and 姓名='" & ss & "'")

msgbox("dr=" & dr Is Nothing)
        If dr Is Nothing Then
            dr = DataTables("实名制考勤").AddNew
            dr("所属机构") = _UserGroup
            dr("项目名称") = _Userxmmc
            dr("姓名") = ss
            dr("年") = d.Year
            dr("月") = d.Month
        End If

msgbox("cline-height: 20px;">        If lst.contains(ss)
            dr("日" & d.Day) = "√"
        Else
            dr("日" & d.Day) = "×"
        End If
    Next
    DataTables("实名制考勤").Save


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


加好友 发短信
等级:超级版主 帖子:110668 积分:563254 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/13 16:50:00 [显示全部帖子]

我这边没有办法调试,很多时候都是凭感觉手打的,不能只是全盘接收,所以要自己学会调试
[此贴子已经被作者于2022/5/13 16:50:48编辑过]

 回到顶部