Foxtable(狐表)用户栏目专家坐堂 → [原创] 禁止当前行的某列输入数据


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

主题:[原创] 禁止当前行的某列输入数据

帅哥哟,离线,有人找我吗?
Darcylau
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:55 积分:439 威望:0 精华:0 注册:2017/6/5 21:39:00
[原创] 禁止当前行的某列输入数据  发帖心情 Post By: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”。

请批评指正,谢谢您!

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


加好友 发短信
等级:超级版主 帖子:110813 积分:564003 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部