在线等待!!!用组件ExpressQuantumGrid 4.5中的cxgrid控件,显示时把相应的字段值改为汉字或插入个小图片(100分)

  • 主题发起人 主题发起人 zm_197913
  • 开始时间 开始时间
Z

zm_197913

Unregistered / Unconfirmed
GUEST, unregistred user!
非常着急!!!!!!
我用的是组件ExpressQuantumGrid 4.5中的cxgrid控件
我想根据库里字段值0或1,显示时把相应的字段值改为汉字或插入个小图片。
在线等待!!!!!!
 
能把问题讲的再仔细点吗?
 
cxGrid本就有相应的功能
选择一列(TcxGridDBColumn),设置它的Properties为CheckBox
现在可以设置下拉的子属性,设置
ValueChecked.Type = Integer
ValueChecked = 1
ValueUnchecked.Type = Integer
ValueUnchecked = 0
运行,看看效果
 
我要根据数据库表中的一个字段值(值为0或1),cxGrid 显示时在第一列加个图标或写汉字。
(*,&,^)代表图标。不是表里的。(性别)字段在表中是0,1。显示时程序根据0,1。写成女或男。
————————————————————
序号 姓名 性别
————————————————————
* 1 张山 男
————————————————————
& 2 李素 女
————————————————————
^ 3 王五 男
————————————————————

在线等待!!!!!!
 
方法一:SQL语句里可以完成啊!
select a.*, (Case when a.性别=0 then '男' else '女' end) as sex,
c.名称 as 部门名称 from 单位员工 as a,单位部门 as c where a.部门=c.编号

方法二:在cxgrid的那一列的getText事件里处理!
if aText='0' then xxxxx
 
生成一个计算字段就可以完成了嘛,在
procedure TDataModule1.qry2sexGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
if Sender.Value=1 then
begin
Text:='男';
end;
if Sender.Value=0 then
begin
Text:='女';
end;
end;

procedure TDataModule1.qry2sexSetText(Sender: TField; const Text: String);
begin
if Text='男' then
begin
Sender.Value:=1;
end;
if Text='女' then
begin
Sender.Value:=0;
end;
end;
 
to :江南大米
第一种方法排除。
你能说一下第二种方法吗?我怎么没找到getText事件
 
cxgrid有没有象dbgrid中ondrawcolumncell事件一样的
我想自己画出来!
我看它里有个oncustomdrawcell事件。我在它下面写。
代码是:
if cxGrid1DBTableView1.GetColumnByFieldName('suser').Caption='指定办案人' then
begin
if not dsuser.Locate('id',ADO_Q.fieldByName('suser').AsString,[]) then
begin
ACanvas.Canvas.TextRect(Aviewinfo.Bounds,Aviewinfo.Bounds.Left,Aviewinfo.Bounds.Top,'Null');

end else
begin
ACanvas.Canvas.TextRect(Aviewinfo.Bounds,Aviewinfo.Bounds.Left,Aviewinfo.Bounds.Top,dsuser.fieldbyname('uname').AsString);

end;
ADone:=true;


end;
 
在该字段的列的GetDisplayText事件中写下如下语句:if Avalue.record[该字段的列名.index]=0 then Text:='男' esle Text:='女';这语句可能有点出入,大概是这么个意思,试着写一些阿就OK了,我写过好多次的。
 
to:cysmon77
谢谢。我是要这个(写字的问题解决了)
可是如何选择图呀。
比如:我有两个图标
如过字段是男时。我就要贴男的图标。女的就贴女的图标
 
很簡單:
把該行的Properties設置為ImageComboBox,然后..

用一ImageList放男女的圖片, 這樣, 圖片和文字都能處理
 
我记得在demo里就有这样的一个实例啊,仔细看看吧
 
那样是死的。
如过是这样该怎么办?
如下:报警图标(当处理时间到当前时间超过了30天就显示报警图标)反之则显示不报警图标。

------------------------------------------
报警状态 流水号 项目号 处理时间
------------------------------------------
(图标) 0001 0001 2003-1-1
------------------------------------------
(图标) 0002 0002 2003-12-1
------------------------------------------
(图标) 0003 0003 2003-2-1
------------------------------------------
 
自画或定义计算定段
 
如何自画呀!
 
如下:
报警图标显示条件
1.如果当前科室处理时间到当前时间超过了一个时间就显示报警图标。
2.如果整个业务办理时间到当前时间超过了一个时间也显示报警图标。
预报警图标显示条件
1.如果当前科室处理时间到当前时间还差2天就到超期时间就显示报警图标。
2.如果整个业务办理时间到当前时间还差2天就到超期时间也显示报警图标。
其余时候都显示不报警图标。

-----------------------------------------------------------------------
报警状态 流水号 项目号 处理时间 业务类型 当前科室
-----------------------------------------------------------------------
(图标) 0001 0001 2003-1-1 XXXXXXXX 业务受理室
-----------------------------------------------------------------------
(图标) 0002 0002 2003-12-1 XXXXXXXX 业务受理室
-----------------------------------------------------------------------
(图标) 0003 0003 2003-2-1 XXXXXXXX 业务受理室
-----------------------------------------------------------------------

现在不知道象这中情况,我想在程序里动态的加该如何写。请各位高手帮忙!
(报警状态)该字段在数据表中没有。我不太想在SQL里完成。因为判断报警条件有多个。
 
to:jsxjd
如何自画或定义计算定段
你能写个例子吗?

 
后退
顶部