起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 343|回复: 6

【搞定】关于选择checkbox的填充问题?**

[复制链接]
发表于 2007-1-25 14:05:01 | 显示全部楼层 |阅读模式
某字段数据类型是字符串型,表现类型是checkbox
希望将checkbox选中的时候,能向数据表中插入某个确定的字符串而不是true
因为要和老数据统一以便于查询
问下如何做到?
回复

使用道具 举报

发表于 2007-1-25 14:41:36 | 显示全部楼层
用checkbox没有方案,做不到。

你可以不用 checkbox ,可以使用字段的查找属性,使用枚举。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-25 15:04:45 | 显示全部楼层
但是使用checkbox是必须的
有没有折中的做法比如用临时字段录入数据?
回复 支持 反对

使用道具 举报

发表于 2007-1-25 15:09:54 | 显示全部楼层
呵呵,对,楼主说的方法,就是
1、用临时字段设置为checkbox表现给最终用户,隐藏实际的字段,
2、在打开数据集的时候根据实际字段的值给临时字段赋值,
3、在保存的时候再根据临时字段给实际的字段赋值
回复 支持 反对

使用道具 举报

发表于 2007-1-25 16:16:48 | 显示全部楼层
还有个方法:
procedure TYWXX1.DataSetBZSJJ1SetFieldText(DataSet: TDataSet; Field: TDataField; const Text: string);
begin
  if (Field <> nil) and (Field.FieldName = 'xxx') then
  begin
    if Text = '0' then
      Field.AsString := '否'
    else if Text = '1' then
      Field.AsString := '是';
  end;
end;

procedure TYWXX1.DataSetBZSJJ1GetFieldText(DataSet: TDataSet; Field: TDataField; var Text: string; DisplayText: Boolean);
begin
  if (Field <> nil) and (Field.FieldName = 'xxx') then
  begin
    if Field.AsString = '否' then
      Text := '0'
    else if Field.AsString = '是' then
      Text := '1';
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-1-29 11:05:02 | 显示全部楼层
楼主,还有问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-31 13:57:19 | 显示全部楼层
收到
搞定
多谢
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-24 02:42 , Processed in 0.037589 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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