Delphi DBGRID中 根据不同的字段值显示不同的小图标
2011-09-07 19:58
399 查看
问题简介:
在DBGRID中显示图片,或者根据不同的字段值显示不用的小图片,有两种方法:
1>、使用DBGridEH设置相应的属性;
2>、使用代码,自己在DrawColumnCell事件中进行重画;
1 、使用DBGridEH设置相应的属性
在数据单元格中显示不用的图片,具体设置如下:
<a>、添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。
<b>、然后将需要显示图片的列的imagelist属性设置为img1;
<c>、在keylist属性中添加实际数据存储值,一行为一个值,
注意:一定要与imagelist中图片顺序一一对应,否则会张冠李戴,面目全非。
<d>、还可在picklist中添加提示信息,也要求是一行为一个值,
<e>、并设tooltip为true,那么,运行时当鼠标移动到该数据单元格时在显示图片的同时还显示提示信息,
怎么样,功能够强大吧!可使用空格键或鼠标切换下一张图片,图片切换的同时也改变了实际存
储数据值。也可通过shift+空格或鼠标切换为上一张图片。这样就实现了上下两个方向图片切换。
2.使用代码,自己在DrawColumnCell事件中进行重画
1>.添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。
2>.在DBGRID控件的DrawColumnCell事件中添加如下代码:
在DBGRID中显示图片,或者根据不同的字段值显示不用的小图片,有两种方法:
1>、使用DBGridEH设置相应的属性;
2>、使用代码,自己在DrawColumnCell事件中进行重画;
1 、使用DBGridEH设置相应的属性
在数据单元格中显示不用的图片,具体设置如下:
<a>、添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。
<b>、然后将需要显示图片的列的imagelist属性设置为img1;
<c>、在keylist属性中添加实际数据存储值,一行为一个值,
注意:一定要与imagelist中图片顺序一一对应,否则会张冠李戴,面目全非。
<d>、还可在picklist中添加提示信息,也要求是一行为一个值,
<e>、并设tooltip为true,那么,运行时当鼠标移动到该数据单元格时在显示图片的同时还显示提示信息,
怎么样,功能够强大吧!可使用空格键或鼠标切换下一张图片,图片切换的同时也改变了实际存
储数据值。也可通过shift+空格或鼠标切换为上一张图片。这样就实现了上下两个方向图片切换。
2.使用代码,自己在DrawColumnCell事件中进行重画
1>.添加一个imagelist组件img1并在其中添加一组bmp,ico格式的图片。
2>.在DBGRID控件的DrawColumnCell事件中添加如下代码:
procedure TManageProjForm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumnEh; State: TGridDrawState); var Icon:TBitmap; begin if Column.DisplayName = 'ProjectStatus' then//'ProjectStatus' 为列名 begin Icon:=TBitmap.Create; with TDBGridEh(Sender).Canvas do begin if adoQryFindProject.FieldByName('ProjectStatus').Value = 0 then img1.GetBitmap(0,Icon) else img1.GetBitmap(1,Icon); //注意:一定要与imagelist中图片顺序一一对应,否则会张冠李戴,面目全非。 Draw(round((Rect.Left+Rect.Right-Icon.Width)/2),Rect.Top,Icon); end; Icon.Free; end; end;
相关文章推荐
- delphi Dbgrid 根据值的不同显示不同颜色
- Delphi DBGRID中 根据不同的字段值显示不同的小图标
- yii CGridView 如何根据字段值来显示不同的自定义按钮或者文字或不同样式(转)
- DBGridEH根据某一字段不同值显示不同的行颜色
- QuickReport 报表根据字段值来显示不同内容
- 根据条件,DBGrid不同行显示不同的颜色
- 根据字段内容来显示不同的内容:
- yii CGridView 如何根据字段值来显示不同的自定义按钮或者文字?
- Android动态来改变App桌面图标--根据不同节日显示不同logo
- Delphi实现Listbox中的item根据内容显示不同颜色的方法
- Oracle 根据字段条件显示不同字段
- SQL语句增加虚拟字段,并根据情况显示不同的数据。。。(已阅。。。未阅。。)
- 解决delphi的 dbgrid在读取access文本型字段显示TWideMemoField的问题
- DBgrid 显示两个表中字段值不同的值
- 在DataGrid里面根据日期的不同显示new图标
- 解决delphi的 dbgrid在读取access文本型字段显示TWideMemoField的问题
- 在MVC3中根据字段的值显示不同的文本
- 权限---根据传递不用的值,显示不同的图标
- 在DataGrid里面根据日期的不同显示new图标
- repeater根据不同字段显示不同颜色