以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创] 禁止当前行的某列输入数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103876)

--  作者:Darcylau
--  发布时间:2017/7/19 0:19:00
--  [原创] 禁止当前行的某列输入数据
尊敬的学长、兄台:

我司的淋浴房是定制产品,在订单表的一行中依次输入数据倒数据列型号、产品宽度、产品深度、靠墙方向
型号的第二位字母代表淋浴房的形状。如"P"代表淋浴屏风。淋浴屏风有宽度和高度而没有深度的。
当输入淋浴屏风的型号如AP11B时,我们想实现此行的产品深度单元格禁止输入数据。

我在datacolchanged事件中输入如下代码:
Select Case e.DataCol.name
   Case "型号"
            If e.DataRow("型号").substring(1,1) = "P"
                e.DataRow("产品深度").allowedit = false \' 或输入locked = false
            End If
End Select
当输入的型号时,弹出对话框提示“调用的目标发生异常”,具体如下:
.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.3.18.1
错误所在事件:表,淋浴房订单表,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“Short”的公共成员“allowedit”。

请批评指正,谢谢您!

--  作者:有点蓝
--  发布时间:2017/7/19 8:58:00
--  
代码放到PrepareEdit事件:http://www.foxtable.com/webhelp/scr/0605.htm

Select Case e.Col.Name
    Case "产品深度"
        If e.Row("型号").substring(1,1) = "P"
            e.Cancel = True
        End If
End Select