起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 306|回复: 12

【搞定】为DataSet赋值**

[复制链接]
发表于 2007-8-28 11:30:09 | 显示全部楼层 |阅读模式
可以像查找属性中的关键字段、显示名称那样。 在代码中为显示名称赋值吗?

sDsb.DataSet.FieldByName(sFieldName).AsString:=lMailForm.edtselectedID.text;
       sDsb.DataSet.FieldByName(sFieldName).DisplayText:=lMailForm.edtselected.text;
回复

使用道具 举报

发表于 2007-8-28 12:01:06 | 显示全部楼层
在数据集  GetFieldText  事件里赋值
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-29 12:29:22 | 显示全部楼层
有具体的例子吗,
1楼中那样赋值,编译时,会报错,说是 displaytext是只读属性,不允许赋值的。
我看了些相关的例子,说displaytext是boolean型的。 那么怎样才能为显示名称赋值呢,不需使用查找属性吗?
为字段赋值很简单:sDsb.DataSet.FieldByName(sFieldName).AsString:=lMailForm.edtselectedID.text;
为显示名称赋值,怎么就这么难呢?
回复 支持 反对

使用道具 举报

发表于 2007-8-29 13:54:24 | 显示全部楼层
例子
procedure Ttest.DataSetBZSJJ1GetFieldText(DataSet: TDataSet; Field: TDataField; var Text: string; DisplayText: Boolean);
begin
   Text:='文字';
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-29 16:33:14 | 显示全部楼层
不在信息中更改,可以实现对显示名称的赋值吗?
例如,在资源集中使用。
onGetFieldText事件是在信息中有的。
回复 支持 反对

使用道具 举报

发表于 2007-8-29 17:25:12 | 显示全部楼层
资源集不行。
  其他地方更改?你可以在功能上找类似的事件。我比较清楚修改的地方是数据集上的这个事件
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-29 18:06:04 | 显示全部楼层
那在 资源集中, 为关键字段赋编码,为显示字段赋名称,该如何实现呢? 有人帮忙吗? 谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-8-29 18:47:59 | 显示全部楼层
onGetFieldText是在数据集上的。只要在资源集上添加数据集,就可以定义相应的事件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-8-30 15:21:43 | 显示全部楼层
四楼的方法,可以实现对text的赋值,但是赋值后。X3里该表中的数据并没有改变。 我想,如何实现:赋值后,在X3里的表中显示名称,在oracle数据库中显示编码。
回复 支持 反对

使用道具 举报

发表于 2007-8-30 15:34:20 | 显示全部楼层
你用datagrid,应该能看到变化啊!
他只是在取数的时候改变显示的名称,没有改变oracle里面的数据。
所以应该能够满足9楼的需求
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-15 20:42 , Processed in 0.036914 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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