Foxtable(狐表)用户栏目专家坐堂 → 如果控件不存在,取消操作


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

主题:如果控件不存在,取消操作

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1881 积分:10374 威望:0 精华:0 注册:2019/4/6 8:45:00
如果控件不存在,取消操作  发帖心情 Post By:2022/1/22 17:12:00 [显示全部帖子]

这样写在没有生成红色标注的控件时直接报控件不存在,我想如果控件不存在时点按钮保存直接取消操作,不弹出提示,其他代码没问题,我测试过了。
    Dim Str As String = fz.Value
    If Forms("主窗口").Controls("fenzhu").text = "" Then
        messagebox.show("请选择分组")
        Return
    End If
    Dim tbl As WinForm.Table = Forms("主窗口").Controls("Table'" & Str & "'")
    If Forms("主窗口").ExistControl("Table'" & Str & "'") Then
 Dim drs As List(of DataRow) = DataTables("比赛积分").SQLSelect("[团体赛或个人赛] = '" & lx & "' And [棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "'","","本轮止累计积分 Desc,本轮止曾交战对手累计积分 Desc")
        If drs IsNot Nothing Then
            Dim i1 As Integer = 1
            For n As Integer = 0 To drs.Count - 1 '遍历所有行
                If n = 0 Then
                    drs(n)("名次") = i1
                ElseIf n > 0 Then
                    If drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本轮止曾交战对手累计积分") = drs(n-1)("本轮止曾交战对手累计积分") Then
                        i1 = i1
                        drs(n)("名次") = i1
                    ElseIf drs(n)("本轮止累计积分") < drs(n-1)("本轮止累计积分") _
                        OrElse (drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本轮止曾交战对手累计积分") < drs(n-1)("本轮止曾交战对手累计积分")) _
                        OrElse (drs(n)("本轮止累计积分") = drs(n-1)("本轮止累计积分") AndAlso drs(n)("本轮止曾交战对手累计积分") > drs(n-1)("本轮止曾交战对手累计积分")) _
                        OrElse drs(n)("本轮止累计积分") > drs(n-1)("本轮止累计积分") Then
                        i1 = i1 + 1
                        drs(n)("名次") = i1
                    End If
                End If
                drs(n).Save
            Next
        End If
        DataTables("比赛积分").SQLUpdate(drs)
        DataTables("比赛积分").load
    Else
        Return
    End If

[此贴子已经被作者于2022/1/22 17:12:22编辑过]

 回到顶部