苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 1898|回复: 2

数据规范可以设置必填列不填子表不可以新增行吗

[复制链接]

5

主题

10

帖子

81

积分

注册会员

Rank: 2

积分
81
发表于 2023-4-1 16:46:37 | 显示全部楼层 |阅读模式
王总数据规范可以设置必填列不填子表不可以新增行吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

25

主题

313

帖子

2077

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2077
QQ
发表于 2023-4-1 16:49:30 | 显示全部楼层
我们需要在第一个子表的表属性设置窗口中,设置表事件BeforeMenuCommandClick,写上下面这段代码
这主要是利用了BeforeMenuCommandClick事件可以根据实际需要取消掉默认命令的默认代码 的执行。
  1. Public Sub BeforeMenuCommandClick(sender As Object,e As  sanMuSoft.CS.WinForm.GridMenuClickArgs)
  2.         Dim tbl As SmGrid=CType(e.BaseGrid,SmGrid)
  3.         '如果是新增行按钮
  4.         If e.Command.Name=BaseGridMenuNames.Add OrElse e.Command.Name=BaseGridMenuNames.AddNews Then
  5.                 '如果有主表
  6.                 If tbl.Relation.ParentGrid IsNot Nothing Then
  7.                         '检查一下主表的所有数据有效性是否合规,包含:填充自动编码、填充修改时间、必填项、不能为空、数据唯一性等检查
  8.                         '参数false表示不必验证相应的子表数据有效性
  9.                         If tbl.Relation.ParentGrid.BaseBaseGrid.CheckDataRuleBeforeSave(False)=False Then '如果校验数据有效性失败
  10.                                 '取消按钮的默认操作,不再执行新增命令
  11.                                 e.Cancel=True
  12.                                 Return
  13.                         End If
  14.                 End If
  15.         End If
  16. End Sub
复制代码

回复

使用道具 举报

5

主题

10

帖子

81

积分

注册会员

Rank: 2

积分
81
 楼主| 发表于 2023-4-1 16:52:02 | 显示全部楼层
王总有问必答,回复神速,新手福音
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2024-10-2 23:24 , Processed in 0.073120 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表