起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: crystal

【结】[请求]如何屏蔽某条记录的某些字段内容

[复制链接]
 楼主| 发表于 2009-9-17 16:23:12 | 显示全部楼层
当用 Value  的时候,如果功能上 有 保存功能,那么数据库数据也会变成 **********
回复 支持 反对

使用道具 举报

发表于 2009-9-17 16:29:20 | 显示全部楼层
还有个相对应的方法,OnSetASXXX
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-17 16:30:08 | 显示全部楼层
可能是我没说清楚我的需求,再说一次吧。
字段 A1,A2,A3,A4, A5
可能客户要求  A1=1 时,屏蔽  A2  A3
A1=2时,屏蔽 A2  A4
A1=3时,屏蔽 A2 A4 A5

显示内容如下
    A1                    A2                 A3             A4              A5
         1                   *******           *******           11               11
         2                   *******              22             ******           22
         3                   *******              33             *******       *******

屏蔽条件和屏蔽字段是客户自定义的。
回复 支持 反对

使用道具 举报

发表于 2009-9-17 16:41:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-17 17:26:19 | 显示全部楼层
用上面的方法。DATAGRID 变了。但是 DataEdit 没变。要用鼠标点一下。如图

111.jpg

39.3 KB, 下载次数: 84

回复 支持 反对

使用道具 举报

发表于 2009-9-18 15:57:08 | 显示全部楼层
楼主,DataGrid 和DataEdit 包括表格文档 这些都是数据表现控件,不会出现这样的情况,你看看连接的是同一个数据集吗,同一个字段吗?
我的代码
begin
  if (Field.FieldName = 'name')  and (DataSet.FieldByName('name').asstring = '2') then
    Text := '***';
end;
附件是运行图片

无标题.gif

2.57 KB, 下载次数: 78

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-21 09:42:26 | 显示全部楼层
搞定,在内容里增加一个特殊字符判断是否隐藏。结贴
回复 支持 反对

使用道具 举报

发表于 2009-9-21 09:54:32 | 显示全部楼层
ok,把方法共享出来吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-21 09:57:58 | 显示全部楼层
方法是用16楼的,具体代码如下:
procedure TBGFG.DataSetBZSJJ1GetFieldText(DataSet: TDataSet; Field: TDataField; var Text: string; DisplayText: Boolean);
var
   pdStr : string;
begin
  pdStr := strUtils.LeftStr(field.AsString,1);
  if   pdStr = '#'      then
  Text := '*********';

end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-15 19:51 , Processed in 0.042078 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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