TwwDBGrid的OnDrawDataCell事件编程引发的问题(100分)

  • 主题发起人 主题发起人 woodmud
  • 开始时间 开始时间
W

woodmud

Unregistered / Unconfirmed
GUEST, unregistred user!
存在一种固定的对应关系,比如说:
Code Weekday
0 星期日
1 星期一
2 星期二
3 星期三
4 星期四
5 星期五
6 星期六
现在在前台,即TwwDBGrid某列中显示的是汉字,而在后台数据库中存储的却是代码,
放个wwdbcombobox,把maplist属性设成true,编辑以后工作的很好,但是一在TwwDBGrid的
OnDrawDataCell事件中编程以后,显示在网格中的全变成了后台即Stored Value,怎么样
还是让它显示前台即Displayed Value,请各位大虾指教。
 
你可以试试以下两种做法:
1、对相关字段下手,
比如对DBDEMOS的animals.dbf,取一个TTable:table1,
在table1上按mouse右键,在Fields Editor中添加WEIGHT字段
该字段的GetText事件如下:
procedure TForm1.Table1WEIGHTGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if sender<> nil then
if sender.FieldName='WEIGHT' then
begin
if Sender.value=nil then exit;
if sender.Value<15 then
text:='轻'
else
text:='重';

end;
end;

2、在fields editor中自己加一个Lookup字段由code值显示Weekday
 
实际上我们应该在OnCalcCellColors中编程,这是我在《Delphi第三方控件使用大全》
这本书中无意中看到的,可惜不能给我自己加分,谢谢amo的热心帮助。
 
接受答案了.
 
后退
顶部