问个最容易捞分的问题:我在数据库中用boolean定义字段,但想在DBGRID中用"结帐"或"末结帐"来表示,如何实现?
解决方案 »
- delphi中image组件上画线如何清除
- 问几个数据库的常识性问题
- 组合查询
- 求report machine的完整版
- :如何利用Combobox显示多个字段内容? combobox是何让没有下拉按钮,在获得焦点时又可以有下拉列表。
- 大侠救命!急需一程序解析器,回者必酬!!
- (300分送上)第三次提问 怎样查找得到某个共享文件夹内 所有文件(包括子文件夹)的所有文件名。
- 请教专家如何在DBGrid中显示多个数据表的内容?
- 我用MediaPlayer先后打开两个wav文件,为什么之中一个可以录音,另一个却不行?
- ADO害死我了:我用DELPHI编写的ACCESS数据库在网络上共享,可是户多了就出错,怎么办?,请高手指点!
- 查询问题
- 请问那位有reportmachine2.4后的版本,能不能发一个给我
procedure TFrmMain.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
sStr :string ;
begin
if AdoQuery.FieldByName('Field').AsBoolean then
sStr := '结帐'
else
sStr := '末结帐' ;
column.Grid.Canvas.TextRect(rect,rect.left,rect.Top,sStr);
end;
var Text: String; DisplayText: Boolean);
begin
if adoDataSet1.FieldByName(sender.FieldName)..AsBoolean then
Text :='Puma True '
else
Text :='Puma False '
end;
select aaa, iif(bbb, '结账','未结帐') from xxx
TBooleanField(Table1.FieldByName('FieldName').DisplayValues := '结账;不结账';
TBooleanField(Table1.FieldByName('FieldName')).DisplayValues := '结账;不结账';
在DBGRID中用"结帐"或"末结帐"来表示,可通过写字段(数据集中)的ongettext和onsettext事件设置。
例:ongettext中
if sender.value=true then
text := '结帐';
表一:
JZH: Boolean;
…………//你的表字段
表二://用于设置表一与文本的关连
JZH: Boolean
JZHText: string//中文“结帐”,“未结帐”;
用两个table控件分别连接两个表。
在表一的table中新建一字段:
field properties-type为string
field type为lookup
然后设置definition就可以了如果还不明白,留下mail,我发个范例给你
Query1.FieldByName('布尔字段名').onSetText := mySetText;
Query1.FieldByName('布尔字段名').onGetText := myGetText;procedure Tform1.mygettext(sender:Tfield;var Text:string;DispText:boolean);
begin
if Sender.Value =NULL then
exit;
if sender.FieldName)='布尔字段名' then
begin
if sender.value then
text := '结账'
else
text := '未结帐';
end;
end;procedure Tform1.mysettext(sender:Tfield;const Text:string);
var
i:integer;
begin
if Text ='' then
begin
sender.Value := '';
exit;
end;
if sender.FieldName='布尔字段名' then
begin
if text='结账' then
sender.value := true
else
sender.value := false;
end;
end;供你参考
利用dataset的settext和gettext这两个方法就能达到你的要求
而不需要增加表结构或者增加什么picklist之类的东东