起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 412|回复: 16

【搞定】[请求]想控制隐藏网格中的部分单元格,请帮忙!

[复制链接]
发表于 2007-5-21 11:56:52 | 显示全部楼层 |阅读模式
为了在一个功能中实现对用户的多类财产管理(如车辆、房屋等好多种),同时又便于各种操作,我用一个表记录以上信息。在抽象出共有字段之外,其它字段为各类财产所专有。我想在用户改变‘财产类别’这一字段时,隐藏其它字段,如当用户选中‘车辆’时,就不显示房屋和其它类型的字段(由于需要实现卡片式管理,所以只能用表格文档)。
我试了两种办法,但是都有问题:
1、用两个DocView把共用部分和专用部分拼接起来,这样实现比较简单,但是DocView中的滚动条在客户窗口比较窄时(上下问题不大,可以满足要求)出现。请问能不能把DocView中的滚动条禁止掉,最好是用一个滚动条控制两个DocView!!

2、在表格文档中定义矩形区域,设计阶段可以把矩形区域隐藏,但是在控制代码中却没有效果代码如下:
     Area := TSheetDoc(self.DocView1.Doc).Areas.Items[0];
     Area.Visible := false;//想试着隐藏数据集区域
     Area := TSheetDoc(self.DocView1.Doc).Areas.Items[0].SubAreas.Items[1];//目前定义了两个矩形区域
     Area.Visible := false;
这段代码放在主窗体中,我截获了‘财产类别’改变的事件。
请问这段代码有什么问题?
另外平台实现这样的需求是不是有现成的解决方案,我的办法确实有点笨!呵呵!

1.jpg

116.07 KB, 下载次数: 172

回复

使用道具 举报

 楼主| 发表于 2007-5-21 11:58:09 | 显示全部楼层

可是

由于滚动条的出现

2.jpg

84.39 KB, 下载次数: 170

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 12:00:29 | 显示全部楼层

定义了区域

定义了矩形区域

3_1.jpg

145.8 KB, 下载次数: 165

回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 12:01:21 | 显示全部楼层

可是

用了1楼的代码,没有达到预期目的!

3.jpg

109.17 KB, 下载次数: 162

回复 支持 反对

使用道具 举报

发表于 2007-5-21 15:08:50 | 显示全部楼层
改了区域的属性后,要刷新一下文档
DocViewDDXX_DDLR.Doc.Close;
DocViewDDXX_DDLR.Doc.Open(TDocMode.dmEdit,DocViewDDXX_DDLR);
回复 支持 反对

使用道具 举报

发表于 2007-5-21 15:39:44 | 显示全部楼层
滚动条访问不到,不好去。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 16:16:16 | 显示全部楼层

谢谢!可是。。。

重新打开后,又出现了下面的问题

4.jpg

62.59 KB, 下载次数: 146

回复 支持 反对

使用道具 举报

发表于 2007-5-21 16:26:05 | 显示全部楼层
这样在一个表格文档上控制字段是否显示怎么做都不太好,楼主能否考虑换一种表现方式,比如说通过控制字段的只读来做,把所有的字段信息都在一个文档上画好,可以共性的画在一块,与车辆相关的属性画成一块等等,然后修改了财产类别后,控制相关字段的只读。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-5-21 16:44:25 | 显示全部楼层

谢谢!

目前就是用8楼所说的方法实现的,感觉信息有点多,所以才有了这个想法。
控制区域显示的代码出错是什么原因呢?能不能给解决一下??
回复 支持 反对

使用道具 举报

发表于 2007-5-21 17:30:51 | 显示全部楼层
我这里测试没有错误,可能和你设置的区域有关系,要不你把相关资源(功能、信息、文档、表及表中数据)导出一个资源包传上来,我们看一下
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-10 21:05 , Processed in 0.045420 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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