以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  按自定义录入界面之三的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=16924)

--  作者:ywlin521
--  发布时间:2012/2/27 18:28:00
--  按自定义录入界面之三的问题

自定义录入界面之三

的步骤,居然不能输入内容,太奇怪了

[此贴子已经被作者于2012-2-27 18:28:31编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/2/27 18:55:00
--  
帮助的代码都是经过测试的,不会有问题的。
--  作者:ywlin521
--  发布时间:2012/2/28 10:28:00
--  

这是代码,其中 Messagebox都是调试用的,是用全局表事件,看下代码哪里会有问题

Select e.Table.Name

    Case "tbStudentInfo"

    Case "tbClass"

        If e.Col.Name = "名称" Then

            If "" = e.Row("校区") Then

                MessageBox.Show("请输入校区")

                e.Cancel = True

            End If

           

            If e.Text <> "" Then

                Dim cmd As New SQLCommand

                cmd.ConnectionName = connName

                cmd.CommandText = "SELECT COUNT(*) FROM {tbClass} WHERE [期次] = \'" & e.Row("期次") & "\' AND [校区] = \'" & e.Row("校区") & "\' AND [名称] = \'" & e.Text & "\' AND _Identify <> \'" & e.Row("_Identify") & "\'"

               

                If cmd.ExecuteScalar() > 0 Then

                    MessageBox.Show("班级已经存在,请重新输入!")

                    e.Cancel = True

                End If

            End If

        ElseIf e.Col.Name = "班主任"

            If e.Col.DroppedDown Then \'如果下拉窗口已经打开

                e.Col.CloseDropDown() \'则关闭下拉窗口

            End If

        End If

    Case Else

       

End Select


Select e.Table.Name

    Case "tbClass"

        If e.Col.Name = "班主任" Then \'如果编辑的是客户ID列

            If e.Col.DroppedDown Then \'如果下拉窗口已经打开

                Dim tbl As Table = Tables("班主任查找窗口_Table1")

                Dim strSelect As String = "Select 编号,姓名,拼音,状态,工种,部门校区,岗位  From {tbTeacherInfo} Where "

                If e.Text = "" Then

                    strSelect &= " [_Identify] Is Null"

                Else

                    strSelect &= " 拼音 LIKE \'%" & e.Text & "%\'"

                End If

                tbl.Fill(strSelect,connName,True)

                tbl.AutoSizeCols()

            Else

                MessageBox.Show(1)

                e.Col.OpenDropDown()

            End If

        End If

       

    Case Else

       

End Select


Select e.Table.Name

    Case "tbClass"

        If e.Col.Name = "班主任" Then

            If e.Col.DroppedDown = False Then

                MessageBox.Show(2)

                e.Col.OpenDropDown() \'打开下拉窗口

            End If

        End If


    Case Else


End Select


Select e.Table.Name

    Case "tbClass"

        If e.Col.Name = "班主任" Then \'如果编辑的是客户 ID列

            If e.Col.DroppedDown Then \'如果下拉窗口已经打开

                Dim tbl As Table = Tables("班主任查找窗口_Table1")

                If e.KeyCode = Keys.Up Then \'如果按下的是上箭头按键

                    tbl.Position = tbl.Position - 1 \'向上移动一行

                    e.Cancel = True

                ElseIf e.KeyCode = Keys.Down Then \'如果按下的是下箭头按键

                    tbl.Position = tbl.Position + 1 \'向下移动一行

                    e.Cancel = True

                End If

            Else

                MessageBox.Show(3)

                e.Col.OpenDropDown()

            End If

        End If

    Case Else

End Select

[此贴子已经被作者于2012-2-28 10:30:27编辑过]

--  作者:ywlin521
--  发布时间:2012/2/28 10:32:00
--  
MessageBox.show()都执行了,就e.Col.OpenDropDown()好象没有执行,也没有提示出错之类的,窗口就是没有
--  作者:ywlin521
--  发布时间:2012/2/28 10:54:00
--  
问题已经解决了,加        NewTb.Cols("班主任").DropForm = "班主任查找窗口"  班主任列修改为可以直接输入就可以了,谢谢