读书人

DBGrid 显示 字段 有关问题 (解决后给

发布时间: 2012-04-06 12:22:24 作者: rapoo

DBGrid 显示 字段 问题 (解决后给100分)
各位高人:

我的项目中有大量的字段是数据库定义的 比如:
'0' : 未处理;
'1' : 确认成功;
'2' : 确认失败;
'5' : 逐笔否决;
'8':临时导入
(还有很多其他的,都保存在数据字典表中)
数据库里面保存的是数字 ,显示的时候需要显示成对应的中午意义,查入得时候又要变成对应的数字。

现在问题分解成两个问题 1. DBGrid怎么显示成对应的中文 2.怎么查入时候变成对应的数字。
希望能有合理的解决办法。
解决一个也给分!
谢谢!

[解决办法]

Delphi(Pascal) code
procedure TForm1.DBGridEh1DrawColumnCell(Sender: TObject;  const Rect: TRect; DataCol: Integer; Column: TColumnEh;  State: TGridDrawState);var  showStr : String;begin  if Column.Title.Column.FieldName='OutTypeText' then  begin    case DBGridEh1.DataSource.DataSet.FieldByName('OutTypeText').AsInteger of        0 : ShowStr:='未处理';      1 : ShowStr:='确认成功';      2 : ShowStr:='确认失败';      5 : ShowStr:='逐笔否决';      8 : ShowStr:='临时导入';    else        ShowStr:='';    end;    DBGridEh1.Canvas.TextRect(Rect,Rect.Left+2,Rect.Top+2,ShowStr);  end;end;
[解决办法]
SELECT
caption= CASE WHEN c_custtype IS NOT NULL THEN (SELECT c_caption FROM tdictionary WHERE L_keyno = 1001 AND c_keyvalue = c_custtype )
END
FROM vaccoinfo

读书人网 >.NET

热点推荐