起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1329|回复: 0

如何控制字段的只读

[复制链接]
发表于 2004-6-16 11:37:02 | 显示全部楼层 |阅读模式
合理使用平台提供的特性,将减少程序员代码的工作量。例如字段的只读、数据的过滤等等就有许多地方可以设置。平台对字段的只读设置地方很多,参考如下:


一、数据字典层
   
  1、在“字段”的“编辑属性|只读”中设置。例如,当“标志”字段为‘1’,“名称”只读。在“名称”的“编辑属性|只读”设置: 标志 = '1'  就可以。

  2、如果想实现某字段不能获取焦点,可以设置“编辑属性|是否可用”。例如,当“标志”字段为‘1’,“名称”只读。在“名称”的“编辑属性|是否可用”设置: 标志 = '1'  就可以。


二、业务信息层

  1、数据集
1.1、在数据集的“只读字段”中选中哪些字段需要只读;
1.2、数据集的“只读”,是指整个数据集都只读了;
1.3、在数据集的“字段编辑器”中增加一个“用户数据字段”,在该处也可以设置,参考“数据字段层”的定义。

    2、文档
2.1、数据网格(DataGrid):可以在数据网格文档的页面中,通过右键菜单添加 columns,设置字段(主表ID)的Readonly属性即可;如果在数据网格(DataGrid)中,没有添加 columns,那么可以通过代码控制XX字段。例如:
   DataSet.FieldByName('rq').ReadOnly := True;  
2.2、记录视图(这是信息层的文档,不是组件):打开记录视图,选中某个DataEdit,选中该组件的的Readonly属性即可;
2.3、表格文档(JustCell):可以通过设置该单元格的属性,在“布局”页面中,选中模式的“只读”复选框即可。代码设置表格文档(JustCell)单元格只读,例如:
TSheetDoc(DocView1.Doc).Sheet.Cells[Col, Row].Styles := [TCellStyle.csReadOnly];

三、业务功能层

  1、数据集策略
在功能层增加一个“数据集策略”,在其的“只读字段”中选中需要只读的字段。取消“数据集策略”的“数据操作权限”所有选项,这样这个数据集就只读了 。

  2、业务语义策略
在功能层增加一个“数据集策略”,在其的“只读字段”中选中需要只读的字段。取消“数据集策略”的“数据操作权限”所有选项,这样整个数据集就只读了。

  3、业务操作策略



四、业务流程

  1、功能环节的“数据集策略”,参考步骤:
  1.1、选中需要定义的功能环节。
  1.2、该功能环节的“数据策略”中增加一个“数据集策略”或者“业务语义策略”。
  1.3、点击“属性”按钮,弹出对话框。
  1.4、在“目标”对话框中,点击“更改目标”按钮,选中需要设置的数据集。如果设置的是“业务语义策略”,那么就是业务信息。
  1.5、在“操作策略”页面,可以设置“记录操作”。

  2、功能环节的“业务类型”
   


五、组织机构

  节点的“数据权限”(包括,部门、岗位、岗位成员、人员成员):
    1、选中需要设置的节点,例如:部门
  2、选中“部门”的右健菜单的“数据权限”
  3、参考“业务功能层”方法来实现


六、代码控制

   参考如下:
DataSetBroker1.DataSet.FieldByName('xm').ReadOnly := True;
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-4-16 12:56 , Processed in 0.046830 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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