起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1500|回复: 2

代码创建自定义数据集和字段

[复制链接]
发表于 2004-8-27 11:37:40 | 显示全部楼层 |阅读模式
参考代码如下:

var
  lBizField: TBizField;
begin
  if (FUserDataSet = nil) and (SQLDataSet <> nil) and SQLDataSet.Active then
  begin
    FUserDataSet := TUserDataSet.Create(self);      //创建自定义数据集
    try
      FUserDataSet.ID := 'UserDataSet1';               //设置自定义数据集ID
      lBizField := TUserDataField.Create(FUserDataSet);
        //创建用户数据字段
      lBizField.DataSet := FUserDataSet;      //指定字段所在的数据集
      RefreshList; //刷新信息列表,当要访问创建数据集的ID时,就需要刷新,
      lBizField.ID := 'KF';                            //设置字段ID
      lBizField.DataType := TDataType.dtString;          //设置字段类型
      lBizField.Size := 32;                            //设置字段大小
      lBizField.DisplayName := '库房';                 //设置字段显示名称
      ...           
    except
      FUserDataSet.Free;
      FUserDataSet := nil;
      raise;
    end;
    DEMOXX.TZDYSJJ(DocView2.Doc).DataSource.DataSet := FUserDataSet;
  end
  else
    Dialogs.ShowMessage('自定义数据集不能被创建');
end;



记住:这里应该使用TBizField,不是TField,
回复

使用道具 举报

 楼主| 发表于 2004-8-30 11:10:09 | 显示全部楼层

BizField.visible 属性赋值

BizField.visible 是只读属性,着手机制,因为决定BizField是否可视的地方不止一处,如果真的需要修改,可以在数据集的 HiddenFields 中设置,也可以在用户字段的 Attributes 中设置

参考代码如下:
lBizField.Attributes.Visible.text := 'True';
lBizField.Attributes.Visible.text := 'False';
lBizField.Attributes.Visible.text := 'zd1 = 12';
...

注意:
1、目前只支持修改实际的物理字段(如果是自己创建出来的字段不生效),
2、必须是一个关系表达式字符串
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-12-30 10:20:45 | 显示全部楼层

自定义数据集数据存活时间

需要看该数据集所属的业务信息的隔离级,在默认的情况下,业务信息的隔离级是业务功能,因此在业务信息里的所有数据集(包括自定义数据集)是在释放功能的时候释放。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 05:46 , Processed in 0.037661 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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