起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 310|回复: 10

【结】如何代码控制DataGird属性**

[复制链接]
发表于 2008-7-22 17:45:39 | 显示全部楼层 |阅读模式
如何代码动态控制DataGird OptionsDB属性,使GIRD不能添加,修改,删除等操作
INFO_BILL.TDOC_FEELIST(DocViewFeeList.Doc).DataGrid.OptionsDB := [edgoUseBookmarks];  
出错是不是edgoUseBookmarks需要引用什么类?
回复

使用道具 举报

发表于 2008-7-22 17:57:34 | 显示全部楼层
NameSpace: Business.Forms
--------------------------------------------------------------------------------
TDataGridOptionDB = (edgoCanAppend, edgoCancelOnExit, edgoCanDelete, edgoCanInsert, edgoCanNavigation, edgoConfirmDelete, edgoLoadAllRecords, edgoPartialLoad, edgoResetColumnFocus, edgoSmartRefresh, edgoSmartReload, edgoSyncSelection, edgoUseBookmarks, edgoUseLocate, edgoDisplayBlobField, edgoAnchorGroup);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-22 18:01:48 | 显示全部楼层
运行下列代码后INFO_BILL.TDOC_FEELIST(DocViewFeeList.Doc).DataGrid.OptionsDB := [TDataGridOptionDB.edgoUseBookmarks];

DataGird还是可以用TDataNavigator,添加,修改,删除等操作
回复 支持 反对

使用道具 举报

发表于 2008-7-22 18:12:29 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-22 18:15:27 | 显示全部楼层
楼上的我知道,不满足需求,因为TDataNavigator同时作用好几个数据集,我想禁止的DATAGIRD只是其中的一个而已
回复 支持 反对

使用道具 举报

发表于 2008-7-22 23:14:37 | 显示全部楼层
给这个数据集加数据集策略就可以了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-23 08:59:52 | 显示全部楼层
数据集策略是提前加好的,我说的是动态改变,比如做个按钮,在功能运行时改变GRID不可增删改
回复 支持 反对

使用道具 举报

发表于 2008-7-23 09:30:16 | 显示全部楼层
1、楼主对OptionsDB 里面的属性理解有误
比如 edgoCanAppend  是指决定当光标在最后一行时,能否通过键盘的“向下”箭头添加一条新记录。而不是控制当前文档连接的数据集是否可以新增,
这些参数在《用户手册》的 第10章 业务组件 10.2.4 有相关介绍

2、策略不一定要提前设置,但动态设置策略(除数据过滤范围外)都需要重载功能,也就是说,只有在功能一运行的时候策略起作用,功能运行起来后,再给数据集施加策略就没有作用了。例如 http://bbs.justep.com/forum.php?mod=viewthread&tid=7934  4楼

3、你是在功能运行后,通过某个按钮来实现,那么可以在数据集的事件上,例如 BeforeInsert、BeforeDelete事件上做,或者直接设置数据集readonly等于true来实现
回复 支持 反对

使用道具 举报

发表于 2008-7-23 09:45:29 | 显示全部楼层
在窗体中 TBizDataSet(DataGrid1.DataSource.DataSet).ReadOnly := True;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-7-23 10:48:44 | 显示全部楼层
谢谢 atiger  的精妙回答,搞定了结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-19 07:48 , Processed in 0.059941 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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