以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 帮忙写代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2758) |
||||
-- 作者:shixia -- 发布时间:2009/5/12 11:05:00 -- 帮忙写代码 只有主任、副主任用户组可以操作“审核”,其它用户组不能操作“审核”,当审核为TRUE时,“工作人员”表实图中除7个字段外,其它字段不能被“工作人员”用户组修改,7个字段为:开票形式、票据号码、发票日期、已交财务、联系人、文书、照片。这7个字段当“工作人员”用户组操作后不为空后,下次再进入程序又被锁定,不能修改,只有非“工作人员”用户组权限进入后,把“审核”变为False后,才能由非“工作人员”用户组修改所有被锁定的行。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/12 12:19:00 -- 1、只有主任、副主任用户组可以操作“审核”,其它用户组不能操作“审核”, BeforeLockDataRow 锁定某行(通过审核)之前执行,可以在此处进行权限和逻辑验证,决定是否允许即将进行的锁定行操作。 e参数属性: DataTable:返回要锁定行的数据表。 示例 假定只允许经理级别的用户锁定行,可以设置BeforeLockDataRow事件代码为: If User.Group <> "经理" Thene.Cancel = True End If |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/12 12:23:00 -- 2、工作人员”表实图中除7个字段外,其它字段不能被“工作人员”用户组修改,7个字段为:开票形式、票据号码、发票日期、已交财务、联系人、文书、照片 PrepareEdit 准备编辑单元格的时候执行。 e参数属性: Table: 准备编辑的表 if user.Group = "工作人员" Select Case e.Col.Name case "开票形式","票据号码","发票日期","已交财务","联系人","文书","照片","审核" e.Cancel = true end Select End IF |
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/12 12:26:00 -- 3、这7个字段当“工作人员”用户组操作后不为空后,下次再进入程序又被锁定,不能修改,只有非“工作人员”用户组权限进入后,把“审核”变为False后,才能由非“工作人员”用户组修改所有被锁定的行。 PrepareEdit 准备编辑单元格的时候执行。 e参数属性: Table: 准备编辑的表
if user.Group = "工作人员" AndAlso e.Row("审核") = False [此贴子已经被作者于2009-5-12 12:34:11编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/12 12:35:00 -- 另BeforeSaveDataRow中的代码,可以这样写,因为判断空值影坛该用IsNull: Dim d As DataRow = e.DataRow Dim ColNames() AS String = "文号,项目名称,委托类别,委托单位,来源单位,标的物,标的额".Split(",") For Each ColName AS String In ColNames if d.IsNull(ColName) Then MessageBox.Show("请详细完整地填写所有资料","存盘失败",MessageBoxButtons.OK,MessageBoxIcon.Exclamation) \'提示用户 Dim Index As Integer Index = Tables("收入").FindRow(e.DataRow) \'找出此行在收入数据Table中的位置 If Index > -1 Then \'如果找到此行 Tables("收入").Position = Index \'将焦点定位到此行 End If Maintable = Tables("收入") \'选择收入数据表作为主表. e.Cancel = True \'取消存盘 exit for End If Next [此贴子已经被作者于2009-5-12 12:40:08编辑过]
|
||||
-- 作者:shixia -- 发布时间:2009/5/23 10:20:00 -- Dim ColNames() AS String = "文号,项目名称,委托类别,委托单位,来源单位,标的物,标的额".Split(",") For Each ColName AS String In ColNames 我记得你在帮助中讲: 集合 集合类似于数组,但是比数组更为灵活,定义集合的语法是: Dim 集合名称 As New List(Of 数据类型) For Each 语句 For Each 语句用来访问一个现有的集合 ,语法为: For Each 循环变量 In 集合代码 Next 数组的定义方式之一为: 可以在定义数组的时候,直接给数组元素赋值,例如: Dim Values() As Integer = {1,3,5} 你定义的Dim ColNames() AS String = "文号,项目名称,委托类别,委托单位,来源单位,标的物,标的额".Split(",") 是一个数组还是集合,如果是数组又用For Each来访问,如果是组合又不符合集合的定义语法,请狐爸给讲讲 |
||||
-- 作者:lxl -- 发布时间:2009/5/23 12:55:00 -- 以下是引用shixia在2009-5-23 10:20:00的发言:
我记得你在帮助中讲: 集合 集合类似于数组,但是比数组更为灵活,定义集合的语法是: Dim 集合名称 As New List(Of 数据类型) For Each 语句 For Each 语句用来访问一个现有的集合 ,语法为: For Each 循环变量 In 集合代码 Next 数组的定义方式之一为: 可以在定义数组的时候,直接给数组元素赋值,例如: Dim Values() As Integer = {1,3,5} 你定义的Dim ColNames() AS String = "文号,项目名称,委托类别,委托单位,来源单位,标的物,标的额".Split(",") 是一个数组还是集合,如果是数组又用For Each来访问,如果是组合又不符合集合的定义语法,请狐爸给讲讲
[此贴子已经被作者于2009-5-23 12:58:33编辑过]
|