以文本方式查看主题

-  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=11502)

--  作者:lihe60
--  发布时间:2011/7/31 8:55:00
--  禁止地区编号重复,出现提示窗口
第二行输入“中国”、“ 浙江省”,说是datacolchanged有误,如何解决?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.rar

[此贴子已经被作者于2011-7-31 8:56:04编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/7/31 9:02:00
--  
取消输入就行,不要删除行。
--  作者:lihe60
--  发布时间:2011/7/31 9:30:00
--  
如何取消“中国”或“浙江省”。
--  作者:狐狸爸爸
--  发布时间:2011/7/31 9:31:00
--  

取消正在输入的一个就行了:

 

e.Cancel = True


--  作者:lihe60
--  发布时间:2011/7/31 9:42:00
--  
就是地区编号不能重复,我真不知道代码如何写?
--  作者:lihe60
--  发布时间:2011/7/31 9:44:00
--  
Select Case e.DataCol.name
    Case "国家","省"
        e.DataRow("地区编号")=e.DataRow("国家") & "\\" & e.DataRow("省")
        Dim m As Integer
        m = e.DataTable.compute("count(地区编号)","地区编号 = \'" & e.DataRow("地区编号") & "\'")
        If m>1
            MessageBox.Show("该地区名称已经存在,不能再次增加地区名称的地区!")
            e.DataRow.delete()
        End If
End Select

--  作者:狐狸爸爸
--  发布时间:2011/7/31 10:02:00
--  

 

 

If e.DataCol.Name = "地区编号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("地区编号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("该地区名称已经存在,不能再次增加地区名称的地区!")
        e.DataRow("国家")= Nothing
        e.DataRow("省") = Nothing
        e.Newvalue = Nothing
    End If
End If


--  作者:lihe60
--  发布时间:2011/7/31 13:13:00
--  
以下是引用狐狸爸爸在2011-7-31 10:02:00的发言:

 

 

If e.DataCol.Name = "地区编号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("地区编号 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        MessageBox.Show("该地区名称已经存在,不能再次增加地区名称的地区!")
        e.DataRow("国家")= Nothing
        e.DataRow("省") = Nothing
        e.Newvalue = Nothing
    End If
End If

datacolchanged还是有提示。


--  作者:blackzhu
--  发布时间:2011/8/1 7:46:00
--  
老大的代码如果有重覆就先提示后清除.还有一个简单的办法,将列属性的禁止重覆选项打开不就得了.
--  作者:lihe60
--  发布时间:2011/8/1 8:08:00
--  
以下是引用blackzhu在2011-8-1 7:46:00的发言:
老大的代码如果有重覆就先提示后清除.还有一个简单的办法,将列属性的禁止重覆选项打开不就得了.

行不通的。